* enhance gpx test to validate gpx writer.
this reveals our writer producing a schema violation, an exception
is made to avoid testing with this input. The exception should
be removed when we fix the gpx writer.
* fix write order of gpx elements we just pass through.
* collapse writing of waypoint elements common to wpts, rtepts, trkpts.
* fiddle
* more fiddling
enum FsType {
kFsUnknown = 0L,
kFsGpx = 0x67707800L,
+ kFsGpxWpt = 0x67707877L,
kFsOzi = 0x6f7a6900L,
kFsGmsd = 0x474d5344L, /* GMSD = Garmin specific data */
kFsQstarzBl1000 = 0x5173747aL,
delete link_;
link_ = nullptr;
}
+ if (wpt_fsdata != nullptr) {
+ wpt_tmp->fs.FsChainAdd(wpt_fsdata);
+ wpt_fsdata = nullptr;
+ }
waypt_add(wpt_tmp);
logpoint_ct = 0;
cur_tag = nullptr;
delete link_;
link_ = nullptr;
}
+ if (wpt_fsdata != nullptr) {
+ wpt_tmp->fs.FsChainAdd(wpt_fsdata);
+ wpt_fsdata = nullptr;
+ }
route_add_wpt(rte_head, wpt_tmp);
wpt_tmp = nullptr;
break;
delete link_;
link_ = nullptr;
}
+ if (wpt_fsdata != nullptr) {
+ wpt_tmp->fs.FsChainAdd(wpt_fsdata);
+ wpt_fsdata = nullptr;
+ }
track_add_wpt(trk_head, wpt_tmp);
wpt_tmp = nullptr;
break;
case tt_wpttype_time:
wpt_tmp->SetCreationTime(xml_parse_time(cdatastr));
break;
+ case tt_wpttype_magvar:
+ if (wpt_fsdata == nullptr) {
+ wpt_fsdata = new gpx_wpt_fsdata;
+ }
+ wpt_fsdata->magvar = cdatastr;
+ break;
case tt_wpttype_geoidheight:
wpt_tmp->set_geoidheight(cdatastr.toDouble());
break;
case tt_wpttype_desc:
wpt_tmp->notes = cdatastr;
break;
+ case tt_wpttype_src:
+ if (wpt_fsdata == nullptr) {
+ wpt_fsdata = new gpx_wpt_fsdata;
+ }
+ wpt_fsdata->src = cdatastr;
+ break;
+ case tt_wpttype_type:
+ if (wpt_fsdata == nullptr) {
+ wpt_fsdata = new gpx_wpt_fsdata;
+ }
+ wpt_fsdata->type = cdatastr;
+ break;
case tt_wpttype_pdop:
wpt_tmp->pdop = cdatastr.toFloat();
break;
case tt_wpttype_vdop:
wpt_tmp->vdop = cdatastr.toFloat();
break;
+ case tt_wpttype_ageofdgpsdata:
+ if (wpt_fsdata == nullptr) {
+ wpt_fsdata = new gpx_wpt_fsdata;
+ }
+ wpt_fsdata->ageofdgpsdata = cdatastr;
+ break;
+ case tt_wpttype_dgpsid:
+ if (wpt_fsdata == nullptr) {
+ wpt_fsdata = new gpx_wpt_fsdata;
+ }
+ wpt_fsdata->dgpsid = cdatastr;
+ break;
case tt_wpttype_sat:
wpt_tmp->sat = cdatastr.toInt();
break;
}
void
-GpxFormat::fprint_xml_chain(XmlTag* tag, const Waypoint* wpt) const
+GpxFormat::fprint_xml_chain(XmlTag* tag) const
{
while (tag) {
writer->writeStartElement(tag->tagname);
writer->writeCharacters(tag->cdata);
}
if (tag->child) {
- fprint_xml_chain(tag->child, wpt);
+ fprint_xml_chain(tag->child);
}
writer->writeEndElement();
}
* Order counts.
*/
void
-GpxFormat::gpx_write_common_acc(const Waypoint* waypointp) const
+GpxFormat::gpx_write_common_acc(const Waypoint* waypointp, const gpx_wpt_fsdata* fs_gpxwpt) const
{
const char* fix = nullptr;
if (waypointp->pdop) {
writer->writeTextElement(QStringLiteral("pdop"), toString(waypointp->pdop));
}
- /* TODO: ageofdgpsdata should go here */
- /* TODO: dgpsid should go here */
+ if (fs_gpxwpt) {
+ writer->writeOptionalTextElement(QStringLiteral("ageofdgpsdata"), fs_gpxwpt->ageofdgpsdata);
+ writer->writeOptionalTextElement(QStringLiteral("dgpsid"), fs_gpxwpt->dgpsid);
+ }
}
void
-GpxFormat::gpx_write_common_position(const Waypoint* waypointp, const gpx_point_type point_type) const
+GpxFormat::gpx_write_common_position(const Waypoint* waypointp, const gpx_point_type point_type, const gpx_wpt_fsdata* fs_gpxwpt) const
{
if (waypointp->altitude != unknown_alt) {
writer->writeTextElement(QStringLiteral("ele"), QString::number(waypointp->altitude, 'f', elevation_precision));
writer->writeTextElement(QStringLiteral("speed"), toString(waypointp->speed_value()));
}
}
- /* TODO: magvar should go here */
+ if (fs_gpxwpt) {
+ writer->writeOptionalTextElement(QStringLiteral("magvar"), fs_gpxwpt->magvar);
+ }
if (waypointp->geoidheight_has_value()) {
writer->writeOptionalTextElement(QStringLiteral("geoidheight"),QString::number(waypointp->geoidheight_value(), 'f', 1));
}
}
void
-GpxFormat::gpx_write_common_description(const Waypoint* waypointp, const QString& oname) const
+GpxFormat::gpx_write_common_description(const Waypoint* waypointp, const gpx_point_type point_type, const gpx_wpt_fsdata* fs_gpxwpt) const
{
+ QString oname;
+ if (!((point_type == gpxpt_track) && waypointp->wpt_flags.shortname_is_synthetic)) {
+ oname = global_opts.synthesize_shortnames ?
+ mkshort_handle->mkshort_from_wpt(waypointp) : waypointp->shortname;
+ }
writer->writeOptionalTextElement(QStringLiteral("name"), oname);
writer->writeOptionalTextElement(QStringLiteral("cmt"), waypointp->description);
} else {
writer->writeOptionalTextElement(QStringLiteral("desc"), waypointp->description);
}
- /* TODO: src should go here */
+ if (fs_gpxwpt) {
+ writer->writeOptionalTextElement(QStringLiteral("src"), fs_gpxwpt->src);
+ }
write_gpx_url(waypointp);
writer->writeOptionalTextElement(QStringLiteral("sym"), waypointp->icon_descr);
- /* TODO: type should go here */
+ if (fs_gpxwpt) {
+ writer->writeOptionalTextElement(QStringLiteral("type"), fs_gpxwpt->type);
+ }
+}
+
+void GpxFormat::gpx_write_common_core(const Waypoint* waypointp,
+ const gpx_point_type point_type) const
+{
+ const auto* fs_gpxwpt = reinterpret_cast<gpx_wpt_fsdata*>(waypointp->fs.FsChainFind(kFsGpxWpt));
+
+ gpx_write_common_position(waypointp, point_type, fs_gpxwpt);
+ gpx_write_common_description(waypointp, point_type, fs_gpxwpt);
+ gpx_write_common_acc(waypointp, fs_gpxwpt);
}
void
writer->writeAttribute(QStringLiteral("lat"), toString(waypointp->latitude));
writer->writeAttribute(QStringLiteral("lon"), toString(waypointp->longitude));
- QString oname = global_opts.synthesize_shortnames ?
- mkshort_handle->mkshort_from_wpt(waypointp) :
- waypointp->shortname;
- gpx_write_common_position(waypointp, gpxpt_waypoint);
- gpx_write_common_description(waypointp, oname);
- gpx_write_common_acc(waypointp);
+ gpx_write_common_core(waypointp, gpxpt_waypoint);
if (!(opt_humminbirdext || opt_garminext)) {
const auto* fs_gpx = reinterpret_cast<fs_xml*>(waypointp->fs.FsChainFind(kFsGpx));
auto* gmsd = garmin_fs_t::find(waypointp); /* gARmIN sPECIAL dATA */
if (fs_gpx) {
if (! gmsd) {
- fprint_xml_chain(fs_gpx->tag, waypointp);
+ fprint_xml_chain(fs_gpx->tag);
}
}
if (gmsd && (gpx_write_version > gpx_1_0)) {
if (!(opt_humminbirdext || opt_garminext)) {
const auto* fs_gpx = reinterpret_cast<fs_xml*>(rte->fs.FsChainFind(kFsGpx));
if (fs_gpx) {
- fprint_xml_chain(fs_gpx->tag, nullptr);
+ fprint_xml_chain(fs_gpx->tag);
}
} else if (opt_garminext) {
if (rte->line_color.bbggrr > unknown_color) {
writer->writeAttribute(QStringLiteral("lat"), toString(waypointp->latitude));
writer->writeAttribute(QStringLiteral("lon"), toString(waypointp->longitude));
- gpx_write_common_position(waypointp, gpxpt_track);
-
- QString oname = global_opts.synthesize_shortnames ?
- mkshort_handle->mkshort_from_wpt(waypointp) :
- waypointp->shortname;
- gpx_write_common_description(waypointp,
- waypointp->wpt_flags.shortname_is_synthetic ?
- nullptr : oname);
- gpx_write_common_acc(waypointp);
+ gpx_write_common_core(waypointp, gpxpt_track);
if (!(opt_humminbirdext || opt_garminext)) {
const auto* fs_gpx = reinterpret_cast<fs_xml*>(waypointp->fs.FsChainFind(kFsGpx));
if (fs_gpx) {
- fprint_xml_chain(fs_gpx->tag, waypointp);
+ fprint_xml_chain(fs_gpx->tag);
}
} else {
gpx_write_common_extensions(waypointp, gpxpt_track);
if (!(opt_humminbirdext || opt_garminext)) {
const auto* fs_gpx = reinterpret_cast<fs_xml*>(rte->fs.FsChainFind(kFsGpx));
if (fs_gpx) {
- fprint_xml_chain(fs_gpx->tag, nullptr);
+ fprint_xml_chain(fs_gpx->tag);
}
} else if (opt_garminext) {
if (rte->line_color.bbggrr > unknown_color) {
writer->writeAttribute(QStringLiteral("lat"), toString(waypointp->latitude));
writer->writeAttribute(QStringLiteral("lon"), toString(waypointp->longitude));
- QString oname = global_opts.synthesize_shortnames ?
- mkshort_handle->mkshort_from_wpt(waypointp) :
- waypointp->shortname;
- gpx_write_common_position(waypointp, gpxpt_route);
- gpx_write_common_description(waypointp, oname);
- gpx_write_common_acc(waypointp);
+ gpx_write_common_core(waypointp, gpxpt_route);
if (!(opt_humminbirdext || opt_garminext)) {
const auto* fs_gpx = reinterpret_cast<fs_xml*>(waypointp->fs.FsChainFind(kFsGpx));
if (fs_gpx) {
- fprint_xml_chain(fs_gpx->tag, waypointp);
+ fprint_xml_chain(fs_gpx->tag);
}
} else {
gpx_write_common_extensions(waypointp, gpxpt_route);
void exit() override;
private:
+ /*
+ * This structure holds the element contents of elements in the
+ * the gpx namespace that are only passed from the gpx reader to
+ * the gpx writer.
+ * We explcitly write these instead of passing them through so they
+ * are written in the correct sequence.
+ */
+ struct gpx_wpt_fsdata : FormatSpecificData {
+ gpx_wpt_fsdata() : FormatSpecificData(kFsGpxWpt) {}
+
+ gpx_wpt_fsdata* clone() const override
+ {
+ return new gpx_wpt_fsdata(*this);
+ }
+
+ QString magvar;
+ QString src;
+ QString type;
+ QString ageofdgpsdata;
+ QString dgpsid;
+ };
+
enum gpx_point_type {
gpxpt_waypoint,
gpxpt_track,
tt_wpt,
tt_wpttype_ele,
tt_wpttype_time,
+ tt_wpttype_magvar,
tt_wpttype_geoidheight,
tt_wpttype_name,
tt_wpttype_cmt,
tt_wpttype_desc,
+ tt_wpttype_src,
tt_wpttype_url, /* Not in GPX 1.1 */
tt_wpttype_urlname, /* Not in GPX 1.1 */
tt_wpttype_link, /* New in GPX 1.1 */
tt_wpttype_hdop, /* HDOPS are common for all three */
tt_wpttype_vdop, /* VDOPS are common for all three */
tt_wpttype_pdop, /* PDOPS are common for all three */
+ tt_wpttype_ageofdgpsdata,
+ tt_wpttype_dgpsid,
tt_cache,
tt_cache_name,
tt_cache_container,
void gpx_cdata(QStringView s);
QString qualifiedName() const;
void write_attributes(const QXmlStreamAttributes& attributes) const;
- void fprint_xml_chain(XmlTag* tag, const Waypoint* wpt) const;
+ void fprint_xml_chain(XmlTag* tag) const;
void write_gpx_url(const UrlList& urls) const;
void write_gpx_url(const Waypoint* waypointp) const;
void write_gpx_url(const route_head* rh) const;
- void gpx_write_common_acc(const Waypoint* waypointp) const;
- void gpx_write_common_position(const Waypoint* waypointp, gpx_point_type point_type) const;
+ void gpx_write_common_acc(const Waypoint* waypointp, const gpx_wpt_fsdata* fs_gpxwpt) const;
+ void gpx_write_common_position(const Waypoint* waypointp, gpx_point_type point_type, const gpx_wpt_fsdata* fs_gpxwpt) const;
void gpx_write_common_extensions(const Waypoint* waypointp, gpx_point_type point_type) const;
- void gpx_write_common_description(const Waypoint* waypointp, const QString& oname) const;
+ void gpx_write_common_description(const Waypoint* waypointp, gpx_point_type point_type, const gpx_wpt_fsdata* fs_gpxwpt) const;
void gpx_waypt_pr(const Waypoint* waypointp) const;
+ void gpx_write_common_core(const Waypoint* waypointp, gpx_point_type point_type) const;
void gpx_track_hdr(const route_head* rte);
void gpx_track_disp(const Waypoint* waypointp) const;
void gpx_track_tlr(const route_head* unused);
int next_trkpt_is_new_seg{};
FormatSpecificDataList* fs_ptr{};
+ gpx_wpt_fsdata* wpt_fsdata{nullptr};
/*
* The file-level information.
/* Common to tracks, routes, and waypts */
GPXWPTTYPETAG("ele", tt_wpttype_ele, false),
GPXWPTTYPETAG("time", tt_wpttype_time, false),
+ GPXWPTTYPETAG("magvar", tt_wpttype_magvar, false),
GPXWPTTYPETAG("geoidheight", tt_wpttype_geoidheight, false),
GPXWPTTYPETAG("name", tt_wpttype_name, false),
GPXWPTTYPETAG("cmt", tt_wpttype_cmt, false),
GPXWPTTYPETAG("desc", tt_wpttype_desc, false),
+ GPXWPTTYPETAG("src", tt_wpttype_src, false),
GPXWPTTYPETAG("url", tt_wpttype_url, false), /* GPX 1.0 */
GPXWPTTYPETAG("urlname", tt_wpttype_urlname, false), /* GPX 1.0 */
GPXWPTTYPETAG("link", tt_wpttype_link, false), /* GPX 1.1 */
GPXWPTTYPETAG("link/text", tt_wpttype_link_text, false), /* GPX 1.1 */
GPXWPTTYPETAG("link/type", tt_wpttype_link_type, false), /* GPX 1.1 */
GPXWPTTYPETAG("sym", tt_wpttype_sym, false),
- GPXWPTTYPETAG("type", tt_wpttype_type, true),
+ GPXWPTTYPETAG("type", tt_wpttype_type, false),
GPXWPTTYPETAG("fix", tt_wpttype_fix, false),
GPXWPTTYPETAG("sat", tt_wpttype_sat, false),
GPXWPTTYPETAG("hdop", tt_wpttype_hdop, false),
GPXWPTTYPETAG("vdop", tt_wpttype_vdop, false),
GPXWPTTYPETAG("pdop", tt_wpttype_pdop, false),
+ GPXWPTTYPETAG("ageofdgpsdata", tt_wpttype_ageofdgpsdata, false),
+ GPXWPTTYPETAG("dgpsid", tt_wpttype_dgpsid, false),
};
QVector<arglist_t> gpx_args = {
<cmt>Hwy 119</cmt>
<desc>Hwy 119</desc>
<sym>Flag, Blue</sym>
+ <type>user</type>
<extensions>
<gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
<cmt>Hwy 72</cmt>
<desc>Hwy 72</desc>
<sym>Flag, Blue</sym>
+ <type>user</type>
<extensions>
<gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx version="1.0" creator="GPSBabel - https://www.gpsbabel.org" xmlns="http://www.topografix.com/GPX/1/0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <time>1970-01-01T00:00:00Z</time>
+ <bounds minlat="49.794688000" minlon="9.834015000" maxlat="49.794688000" maxlon="9.834015000"/>
+ <wpt lat="49.794688000" lon="9.834015000">
+ <ele>289.200</ele>
+ <time>2011-07-02T17:47:25.200Z</time>
+ <magvar>33.333</magvar>
+ <geoidheight>111.1</geoidheight>
+ <name>trkpt-2011-07-02T17:47:25.000Z</name>
+ <cmt>this is the wpt cmt</cmt>
+ <desc>this is the wpt desc</desc>
+ <src>this is the wpt src</src>
+ <url>http://www.gpsbabel.org</url>
+ <urlname>gpsbabel.org</urlname>
+ <sym>Campground</sym>
+ <type>T</type>
+ <fix>3d</fix>
+ <sat>4</sat>
+ <hdop>1.100000</hdop>
+ <vdop>2.200000</vdop>
+ <pdop>3.300000</pdop>
+ <ageofdgpsdata>4.4</ageofdgpsdata>
+ <dgpsid>55</dgpsid>
+ </wpt>
+ <rte>
+ <rtept lat="49.794688000" lon="9.834015000">
+ <ele>289.200</ele>
+ <time>2011-07-02T17:47:25.200Z</time>
+ <magvar>33.333</magvar>
+ <geoidheight>111.1</geoidheight>
+ <name>trkpt-2011-07-02T17:47:25.000Z</name>
+ <cmt>this is the rte cmt</cmt>
+ <desc>this is the rte desc</desc>
+ <src>this is the rte src</src>
+ <url>http://www.gpsbabel.org</url>
+ <urlname>gpsbabel.org</urlname>
+ <sym>Campground</sym>
+ <type>T</type>
+ <fix>3d</fix>
+ <sat>4</sat>
+ <hdop>1.100000</hdop>
+ <vdop>2.200000</vdop>
+ <pdop>3.300000</pdop>
+ <ageofdgpsdata>4.4</ageofdgpsdata>
+ <dgpsid>55</dgpsid>
+ </rtept>
+ </rte>
+ <trk>
+ <trkseg>
+ <trkpt lat="49.794688000" lon="9.834015000">
+ <ele>289.200</ele>
+ <time>2011-07-02T17:47:25.200Z</time>
+ <course>12.120000</course>
+ <speed>13.818100</speed>
+ <magvar>33.333</magvar>
+ <geoidheight>111.1</geoidheight>
+ <name>trkpt-2011-07-02T17:47:25.000Z</name>
+ <cmt>this is the trk cmt</cmt>
+ <desc>this is the trk desc</desc>
+ <src>this is the trk src</src>
+ <url>http://www.gpsbabel.org</url>
+ <urlname>gpsbabel.org</urlname>
+ <sym>Campground</sym>
+ <type>T</type>
+ <fix>3d</fix>
+ <sat>4</sat>
+ <hdop>1.100000</hdop>
+ <vdop>2.200000</vdop>
+ <pdop>3.300000</pdop>
+ <ageofdgpsdata>4.4</ageofdgpsdata>
+ <dgpsid>55</dgpsid>
+ </trkpt>
+ </trkseg>
+ </trk>
+</gpx>
# use declared namespace prefixes in gpx reader
gpsbabel -t -i gpx -f ${REFERENCE}/track/garminconnect.gpx -o unicsv,utc=0 -F ${TMPDIR}/garminconnect.csv
compare ${REFERENCE}/track/garminconnect.csv ${TMPDIR}/garminconnect.csv
+
+# order of wpt type elements
+gpsbabel -i gpx -f ${REFERENCE}/wptsequence.gpx -o gpx -F ${TMPDIR}/wptsequence.gpx
+compare ${REFERENCE}/wptsequence.gpx ${TMPDIR}/wptsequence.gpx
+
+if [ -z "${VALGRIND}" ]; then
+ set -e
+ if command -v xmllint > /dev/null;
+ then
+ GPXS=$(find ${REFERENCE} -name \*.gpx)
+ mkdir -p ${TMPDIR}/validcheck
+ for f in $GPXS
+ do
+ case $f in
+ # this isn't a gpx file
+ ${REFERENCE}/track/trackfilter_discard_err.gpx)
+ ;;
+
+ *)
+ tmpf=${TMPDIR}/validcheck/$(basename $f)
+ gpsbabel -i gpx -f $f -o gpx -F $tmpf
+ xmllint --schema ${BASEPATH}/tools/schema/gpx/master.xsd --noout $tmpf
+ ;;
+ esac;
+
+ case $f in
+ # this isn't a gpx file
+ ${REFERENCE}/track/trackfilter_discard_err.gpx)
+ ;;
+
+ *)
+ tmpf=${TMPDIR}/validcheck/$(basename $f)
+ gpsbabel -i gpx -f $f -o gpx,garminextensions -F $tmpf
+ xmllint --schema ${BASEPATH}/tools/schema/gpx/master.xsd --noout $tmpf
+ ;;
+ esac;
+ done
+ else
+ echo "Skipping GPX validation phase."
+ fi
+ set +e
+fi
*)
tmpf=${TMPDIR}/validcheck/$(basename $f)
gpsbabel -i kml -f $f -o kml -F $tmpf
- xmllint --schema ${BASEPATH}/tools/kml22-schema/kml22gx.xsd --noout $tmpf
+ xmllint --schema ${BASEPATH}/tools/schema/kml/kml22gx.xsd --noout $tmpf
esac;
done
else
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- targetNamespace="http://www.w3.org/2005/Atom"
- xmlns:atom="http://www.w3.org/2005/Atom" version="1.0.0">
-
- <annotation>
- <appinfo>atom-author-link.xsd 2008-01-23</appinfo>
- <documentation>There is no official atom XSD. This XSD is created based on:
- http://atompub.org/2005/08/17/atom.rnc. A subset of Atom as used in the
- ogckml22.xsd is defined here. </documentation>
- </annotation>
-
- <!-- Person Construct -->
- <complexType name="atomPersonConstruct">
- <choice minOccurs="0" maxOccurs="unbounded">
- <element ref="atom:name"/>
- <element ref="atom:uri"/>
- <element ref="atom:email"/>
- </choice>
- </complexType>
-
- <element name="name" type="string"/>
- <element name="uri" type="string"/>
- <element name="email" type="atom:atomEmailAddress"/>
-
- <!-- atom:author -->
- <element name="author" type="atom:atomPersonConstruct"/>
-
- <!-- atom:link -->
- <element name="link">
- <complexType>
-
- <attribute name="href" use="required"/>
- <attribute name="rel"/>
- <attribute name="type" type="atom:atomMediaType"/>
- <attribute name="hreflang" type="atom:atomLanguageTag"/>
- <attribute name="title"/>
- <attribute name="length"/>
-
- </complexType>
-
- </element>
-
- <!-- Whatever a media type is, it contains at least one slash -->
- <simpleType name="atomMediaType">
- <restriction base="string">
- <pattern value=".+/.+"/>
- </restriction>
- </simpleType>
-
- <!-- As defined in RFC 3066 -->
- <simpleType name="atomLanguageTag">
- <restriction base="string">
- <pattern value="[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*"/>
- </restriction>
- </simpleType>
-
- <!-- Whatever an email address is, it contains at least one @ -->
- <simpleType name="atomEmailAddress">
- <restriction base="string">
- <pattern value=".+@.+"/>
- </restriction>
- </simpleType>
-
-</schema>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Copyright 2010. Google, Inc. All rights reserved. -->
-<!--
-
- XSD of Google extensions to OGC KML 2.2.
- NOTE: This BETA specification is subject to change without notice.
-
- The URL to this schema is:
- http://code.google.com/apis/kml/schema/kml22gx.xsd
-
- Full documentation for these extensions is available at:
- http://code.google.com/apis/kml/
-
- The minimum required version of Google Earth to support all these extensions
- is version 6.0 (Free, Pro, and Enterprise). Earlier versions of Google Earth
- support a smaller set of extensions.
-
--->
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:gx="http://www.google.com/kml/ext/2.2"
- xmlns:kml="http://www.opengis.net/kml/2.2"
- xmlns:atom="http://www.w3.org/2005/Atom"
- xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
- targetNamespace="http://www.google.com/kml/ext/2.2"
- elementFormDefault="qualified"
- version="21092011BETA">
-
- <!-- Import the language we are extending: OGC KML 2.2 -->
- <import namespace="http://www.opengis.net/kml/2.2"
- schemaLocation="ogckml22.xsd"/>
-
- <!-- Simple types -->
- <simpleType name="altitudeModeEnumType">
- <restriction base="string">
- <enumeration value="clampToSeaFloor"/>
- <enumeration value="relativeToSeaFloor"/>
- </restriction>
- </simpleType>
-
- <simpleType name="flyToModeEnumType">
- <restriction base="string">
- <enumeration value="bounce"/>
- <enumeration value="smooth"/>
- </restriction>
- </simpleType>
-
-
- <simpleType name="outerWidthType">
- <restriction base="float">
- <minInclusive value="0.0"/>
- <maxInclusive value="1.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="playModeEnumType">
- <restriction base="string">
- <enumeration value="pause"/>
- </restriction>
- </simpleType>
-
- <!-- Simple elements -->
-
- <!-- altitudeMode has no XSD default. OGC KML 2.2 altitudeModeGroup
- is considered to have the same default as altitudeMode: clampToGround -->
- <element name="AbstractTrackSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="altitudeMode" type="gx:altitudeModeEnumType"
- substitutionGroup="kml:altitudeModeGroup"/>
- <!--For XSD reasons, altitudeOffset is part of
- kml:AbstractGeometrySimpleExtensionGroup but it is only supported in
- kml:LinearRing and kml:LineString.-->
- <element name="altitudeOffset" type="double"
- substitutionGroup="kml:AbstractGeometrySimpleExtensionGroup"/>
- <element name="angles" type="string"/>
- <element name="balloonVisibility" type="boolean" default="true"
- substitutionGroup="kml:AbstractFeatureSimpleExtensionGroup"/>
- <element name="coord" type="string"/>
- <element name="delayedStart" type="double" default="0.0"/>
- <!-- As of Earth 6.0, drawOrder only works in LineString elements.-->
- <element name="drawOrder" type="integer" default="0"
- substitutionGroup="kml:AbstractGeometrySimpleExtensionGroup"/>
- <element name="duration" type="double" default="0.0"/>
- <element name="flyToMode" type="gx:flyToModeEnumType" default="bounce"/>
- <!--horizFov in Google Earth only works in a range of 10-170 degress
- in Google Earth 6.1-->
- <element name="horizFov" type="kml:anglepos180Type"
- substitutionGroup="kml:AbstractViewSimpleExtensionGroup" />
- <element name="interpolate" type="boolean" default="false"/>
- <!--Currently only works on LineStyle as applied to a LineString.
- Does not work on LineStyle as applied to Polygons or extruded Points.-->
- <element name="labelVisibility" type="boolean" default="0"
- substitutionGroup="kml:AbstractColorStyleSimpleExtensionGroup" />
- <element name="outerColor" type="kml:colorType" default="ffffffff"
- substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
- <element name="outerWidth" type="gx:outerWidthType" default="0.0"
- substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
- <element name="physicalWidth" type="float" default="0.0"
- substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
- <element name="playMode" type="gx:playModeEnumType" default="pause"/>
- <element name="rank" type="double"
- substitutionGroup="kml:AbstractFeatureSimpleExtensionGroup"
- default="0.0"/>
- <element name="value" type="string"/>
-
- <element name="x" type="integer" default="0"
- substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
- <element name="y" type="integer" default="0"
- substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
- <element name="w" type="integer" default="-1"
- substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
- <element name="h" type="integer" default="-1"
- substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
-
-
-
- <!-- Complex types and elements -->
-
- <element name="AbstractTourPrimitiveGroup" type="gx:AbstractTourPrimitiveType"
- abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
- <element name="AbstractTourPrimitive" type="gx:AbstractTourPrimitiveType"/>
- <complexType name="AbstractTourPrimitiveType">
- <complexContent>
- <extension base="kml:AbstractObjectType"/>
- </complexContent>
- </complexType>
-
- <element name="AnimatedUpdate" type="gx:AnimatedUpdateType"
- substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
- <complexType name="AnimatedUpdateType">
- <complexContent>
- <extension base="gx:AbstractTourPrimitiveType">
- <sequence>
- <element ref="gx:duration" minOccurs="0"/>
- <element ref="kml:Update" minOccurs="0"/>
- <element ref="gx:delayedStart" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="FlyTo" type="gx:FlyToType"
- substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
- <complexType name="FlyToType">
- <complexContent>
- <extension base="gx:AbstractTourPrimitiveType">
- <sequence>
- <element ref="gx:duration" minOccurs="0"/>
- <element ref="gx:flyToMode" minOccurs="0"/>
- <element ref="kml:AbstractViewGroup" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="Playlist" type="gx:PlaylistType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="PlaylistType">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="gx:AbstractTourPrimitiveGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="SoundCue" type="gx:SoundCueType"
- substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
- <complexType name="SoundCueType">
- <complexContent>
- <extension base="gx:AbstractTourPrimitiveType">
- <sequence>
- <element ref="kml:href" minOccurs="0"/>
- <element ref="gx:delayedStart" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="Tour" type="gx:TourType"
- substitutionGroup="kml:AbstractFeatureGroup"/>
- <complexType name="TourType">
- <complexContent>
- <extension base="kml:AbstractFeatureType">
- <sequence>
- <element ref="gx:Playlist" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <!-- Declare TimeStamp and TimeSpan elements in this extension namespace of
- the same type as in OGC standard KML to add it to the substitution group. -->
- <element name="TimeStamp" type="kml:TimeStampType"
- substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
- <element name="TimeSpan" type="kml:TimeSpanType"
- substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
-
- <element name="TourControl" type="gx:TourControlType"
- substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
- <complexType name="TourControlType">
- <complexContent>
- <extension base="gx:AbstractTourPrimitiveType">
- <sequence>
- <element ref="gx:playMode" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="Wait" type="gx:WaitType"
- substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
- <complexType name="WaitType">
- <complexContent>
- <extension base="gx:AbstractTourPrimitiveType">
- <sequence>
- <element ref="gx:duration" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="LatLonQuad" type="gx:LatLonQuadType"
- substitutionGroup="kml:GroundOverlayObjectExtensionGroup"/>
- <complexType name="LatLonQuadType">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:coordinates" minOccurs="0"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="Track" type="gx:TrackType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
-
- <complexType name="TrackType">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:extrude" minOccurs="0"/>
- <element ref="kml:tessellate" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:when" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="gx:coord" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="gx:angles" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:Model" minOccurs="0"/>
- <element ref="kml:ExtendedData" minOccurs="0"/>
- <element ref="gx:AbstractTrackSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="MultiTrack" type="gx:MultiTrackType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
-
- <complexType name="MultiTrackType">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="gx:interpolate" minOccurs="0"/>
- <element ref="gx:Track" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="SimpleArrayField" type="gx:SimpleArrayFieldType"
- substitutionGroup="kml:SchemaExtension"/>
-
- <complexType name="SimpleArrayFieldType">
- <sequence>
- <element ref="kml:displayName" minOccurs="0"/>
- <element ref="gx:SimpleArrayFieldExtension" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attribute name="type" type="string"/>
- <attribute name="name" type="string"/>
- </complexType>
- <element name="SimpleArrayFieldExtension" abstract="true"/>
-
- <element name="SimpleArrayData" type="gx:SimpleArrayDataType"
- substitutionGroup="kml:SchemaDataExtension"/>
-
- <complexType name="SimpleArrayDataType">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="gx:value" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="gx:SimpleArrayDataExtension" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="string"/>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="SimpleArrayDataExtension" abstract="true"/>
-
- <element name="ViewerOptions" type="gx:ViewerOptionsType"
- substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
-
- <complexType name="ViewerOptionsType">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="gx:option" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
-
- <element name="option" type="gx:optionType"/>
-
- <complexType name="optionType">
- <!-- In Earth 6.0, the name attribute is restricted to Google Earth
- specific items, streetview,historicalimagery,sunlight.
- However, in a future version of this schema, we may remove this
- restriction, so we are using a string instead of a enumeration. -->
- <attribute name="name" type="string"/>
- <attribute name="enabled" type="boolean"/>
- </complexType>
-
-</schema>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
- xmlns:kml="http://www.opengis.net/kml/2.2"
- xmlns:atom="http://www.w3.org/2005/Atom"
- xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
- targetNamespace="http://www.opengis.net/kml/2.2"
- elementFormDefault="qualified"
- version="2.2.0">
-
- <annotation>
- <appinfo>ogckml22.xsd 2008-01-23</appinfo>
- <documentation>XML Schema Document for OGC KML version 2.2. Copyright (c)
- 2008 Open Geospatial Consortium.
- </documentation>
- </annotation>
-
- <!-- import atom:author and atom:link -->
- <import namespace="http://www.w3.org/2005/Atom"
- schemaLocation="atom-author-link.xsd"/>
-
- <!-- import xAL:Address -->
- <import namespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
- schemaLocation="xAL.xsd"/>
-
- <!-- KML field types (simple content) -->
-
- <simpleType name="anglepos90Type">
- <restriction base="double">
- <minInclusive value="0.0"/>
- <maxInclusive value="90.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="angle90Type">
- <restriction base="double">
- <minInclusive value="-90"/>
- <maxInclusive value="90.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="anglepos180Type">
- <restriction base="double">
- <minInclusive value="0.0"/>
- <maxInclusive value="180.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="angle180Type">
- <restriction base="double">
- <minInclusive value="-180.0"/>
- <maxInclusive value="180.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="angle360Type">
- <restriction base="double">
- <minInclusive value="-360.0"/>
- <maxInclusive value="360.0"/>
- </restriction>
- </simpleType>
-
- <simpleType name="altitudeModeEnumType">
- <restriction base="string">
- <enumeration value="clampToGround"/>
- <enumeration value="relativeToGround"/>
- <enumeration value="absolute"/>
- </restriction>
- </simpleType>
-
- <simpleType name="colorType">
- <annotation>
- <documentation><![CDATA[
-
- aabbggrr
-
- ffffffff: opaque white
- ff000000: opaque black
-
- ]]></documentation>
- </annotation>
- <restriction base="hexBinary">
- <length value="4"/>
- </restriction>
- </simpleType>
-
- <simpleType name="coordinatesType">
- <list itemType="string"/>
- </simpleType>
-
- <simpleType name="colorModeEnumType">
- <restriction base="string">
- <enumeration value="normal"/>
- <enumeration value="random"/>
- </restriction>
- </simpleType>
-
- <simpleType name="dateTimeType">
- <union memberTypes="dateTime date gYearMonth gYear"/>
- </simpleType>
-
- <simpleType name="displayModeEnumType">
- <restriction base="string">
- <enumeration value="default"/>
- <enumeration value="hide"/>
- </restriction>
- </simpleType>
-
- <simpleType name="gridOriginEnumType">
- <restriction base="string">
- <enumeration value="lowerLeft"/>
- <enumeration value="upperLeft"/>
- </restriction>
- </simpleType>
- <simpleType name="itemIconStateType">
- <list itemType="kml:itemIconStateEnumType"/>
- </simpleType>
-
- <simpleType name="itemIconStateEnumType">
- <restriction base="string">
- <enumeration value="open"/>
- <enumeration value="closed"/>
- <enumeration value="error"/>
- <enumeration value="fetching0"/>
- <enumeration value="fetching1"/>
- <enumeration value="fetching2"/>
- </restriction>
- </simpleType>
-
- <simpleType name="listItemTypeEnumType">
- <restriction base="string">
- <enumeration value="radioFolder"/>
- <enumeration value="check"/>
- <enumeration value="checkHideChildren"/>
- <enumeration value="checkOffOnly"/>
- </restriction>
- </simpleType>
-
- <simpleType name="refreshModeEnumType">
- <restriction base="string">
- <enumeration value="onChange"/>
- <enumeration value="onInterval"/>
- <enumeration value="onExpire"/>
- </restriction>
- </simpleType>
-
- <simpleType name="viewRefreshModeEnumType">
- <restriction base="string">
- <enumeration value="never"/>
- <enumeration value="onRequest"/>
- <enumeration value="onStop"/>
- <enumeration value="onRegion"/>
- </restriction>
- </simpleType>
-
- <simpleType name="shapeEnumType">
- <restriction base="string">
- <enumeration value="rectangle"/>
- <enumeration value="cylinder"/>
- <enumeration value="sphere"/>
- </restriction>
- </simpleType>
-
- <simpleType name="styleStateEnumType">
- <restriction base="string">
- <enumeration value="normal"/>
- <enumeration value="highlight"/>
- </restriction>
- </simpleType>
-
- <simpleType name="unitsEnumType">
- <restriction base="string">
- <enumeration value="fraction"/>
- <enumeration value="pixels"/>
- <enumeration value="insetPixels"/>
- </restriction>
- </simpleType>
-
- <complexType name="vec2Type" abstract="false">
- <attribute name="x" type="double" default="1.0"/>
- <attribute name="y" type="double" default="1.0"/>
- <attribute name="xunits" type="kml:unitsEnumType" use="optional"
- default="fraction"/>
- <attribute name="yunits" type="kml:unitsEnumType" use="optional"
- default="fraction"/>
- </complexType>
-
- <element name="address" type="string"/>
- <element name="altitude" type="double" default="0.0"/>
- <element name="altitudeModeGroup" abstract="true"/>
- <element name="altitudeMode" type="kml:altitudeModeEnumType"
- default="clampToGround" substitutionGroup="kml:altitudeModeGroup"/>
- <element name="begin" type="kml:dateTimeType"/>
- <element name="bgColor" type="kml:colorType" default="ffffffff"/>
- <element name="bottomFov" type="kml:angle90Type" default="0.0"/>
- <element name="color" type="kml:colorType" default="ffffffff"/>
- <element name="colorMode" type="kml:colorModeEnumType" default="normal"/>
- <element name="cookie" type="string"/>
- <element name="coordinates" type="kml:coordinatesType"/>
- <element name="description" type="string"/>
- <element name="displayName" type="string"/>
- <element name="displayMode" type="kml:displayModeEnumType" default="default"/>
- <element name="drawOrder" type="int" default="0"/>
- <element name="east" type="kml:angle180Type" default="180.0"/>
- <element name="end" type="kml:dateTimeType"/>
- <element name="expires" type="kml:dateTimeType"/>
- <element name="extrude" type="boolean" default="0"/>
- <element name="fill" type="boolean" default="1"/>
- <element name="flyToView" type="boolean" default="0"/>
- <element name="gridOrigin" type="kml:gridOriginEnumType" default="lowerLeft"/>
- <element name="heading" type="kml:angle360Type" default="0.0"/>
- <element name="href" type="string">
- <annotation>
- <documentation>not anyURI due to $[x] substitution in
- PhotoOverlay</documentation>
- </annotation>
- </element>
- <element name="httpQuery" type="string"/>
- <element name="hotSpot" type="kml:vec2Type"/>
- <element name="key" type="kml:styleStateEnumType" default="normal"/>
- <element name="latitude" type="kml:angle90Type" default="0.0"/>
- <element name="leftFov" type="kml:angle180Type" default="0.0"/>
- <element name="linkDescription" type="string"/>
- <element name="linkName" type="string"/>
- <element name="linkSnippet" type="kml:SnippetType"/>
- <element name="listItemType" type="kml:listItemTypeEnumType" default="check"/>
- <element name="longitude" type="kml:angle180Type" default="0.0"/>
- <element name="maxSnippetLines" type="int" default="2"/>
- <element name="maxSessionLength" type="double" default="-1.0"/>
- <element name="message" type="string"/>
- <element name="minAltitude" type="double" default="0.0"/>
- <element name="minFadeExtent" type="double" default="0.0"/>
- <element name="minLodPixels" type="double" default="0.0"/>
- <element name="minRefreshPeriod" type="double" default="0.0"/>
- <element name="maxAltitude" type="double" default="0.0"/>
- <element name="maxFadeExtent" type="double" default="0.0"/>
- <element name="maxLodPixels" type="double" default="-1.0"/>
- <element name="maxHeight" type="int" default="0"/>
- <element name="maxWidth" type="int" default="0"/>
- <element name="name" type="string"/>
- <element name="near" type="double" default="0.0"/>
- <element name="north" type="kml:angle180Type" default="180.0"/>
- <element name="open" type="boolean" default="0"/>
- <element name="outline" type="boolean" default="1"/>
- <element name="overlayXY" type="kml:vec2Type"/>
- <element name="phoneNumber" type="string"/>
- <element name="range" type="double" default="0.0"/>
- <element name="refreshMode" type="kml:refreshModeEnumType"
- default="onChange"/>
- <element name="refreshInterval" type="double" default="4.0"/>
- <element name="refreshVisibility" type="boolean" default="0"/>
- <element name="rightFov" type="kml:angle180Type" default="0.0"/>
- <element name="roll" type="kml:angle180Type" default="0.0"/>
- <element name="rotation" type="kml:angle180Type" default="0.0"/>
- <element name="rotationXY" type="kml:vec2Type"/>
- <element name="scale" type="double" default="1.0"/>
- <element name="screenXY" type="kml:vec2Type"/>
- <element name="shape" type="kml:shapeEnumType" default="rectangle"/>
- <element name="size" type="kml:vec2Type"/>
- <element name="south" type="kml:angle180Type" default="-180.0"/>
- <element name="sourceHref" type="anyURI"/>
- <element name="snippet" type="string"/>
- <element name="state" type="kml:itemIconStateType"/>
- <element name="styleUrl" type="anyURI"/>
- <element name="targetHref" type="anyURI"/>
- <element name="tessellate" type="boolean" default="0"/>
- <element name="text" type="string"/>
- <element name="textColor" type="kml:colorType" default="ff000000"/>
- <element name="tileSize" type="int" default="256"/>
- <element name="tilt" type="kml:anglepos180Type" default="0.0"/>
- <element name="topFov" type="kml:angle90Type" default="0.0"/>
- <element name="value" type="string"/>
- <element name="viewBoundScale" type="double" default="1.0"/>
- <element name="viewFormat" type="string"/>
- <element name="viewRefreshMode" type="kml:viewRefreshModeEnumType"
- default="never"/>
- <element name="viewRefreshTime" type="double" default="4.0"/>
- <element name="visibility" type="boolean" default="1"/>
- <element name="west" type="kml:angle180Type" default="-180.0"/>
- <element name="when" type="kml:dateTimeType"/>
- <element name="width" type="double" default="1.0"/>
- <element name="x" type="double" default="1.0"/>
- <element name="y" type="double" default="1.0"/>
- <element name="z" type="double" default="1.0"/>
-
- <element name="AbstractObjectGroup" type="kml:AbstractObjectType"
- abstract="true"/>
- <complexType name="AbstractObjectType" abstract="true">
- <sequence>
- <element ref="kml:ObjectSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attributeGroup ref="kml:idAttributes"/>
- </complexType>
- <element name="ObjectSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
-
- <attributeGroup name="idAttributes">
- <attribute name="id" type="ID" use="optional"/>
- <attribute name="targetId" type="NCName" use="optional"/>
- </attributeGroup>
-
- <element name="AbstractFeatureGroup" type="kml:AbstractFeatureType"
- abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractFeatureType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:name" minOccurs="0"/>
- <element ref="kml:visibility" minOccurs="0"/>
- <element ref="kml:open" minOccurs="0"/>
- <element ref="atom:author" minOccurs="0"/>
- <element ref="atom:link" minOccurs="0"/>
- <element ref="kml:address" minOccurs="0"/>
- <element ref="xal:AddressDetails" minOccurs="0"/>
- <element ref="kml:phoneNumber" minOccurs="0"/>
- <choice>
- <annotation>
- <documentation>Snippet deprecated in 2.2</documentation>
- </annotation>
- <element ref="kml:Snippet" minOccurs="0"/>
- <element ref="kml:snippet" minOccurs="0"/>
- </choice>
- <element ref="kml:description" minOccurs="0"/>
- <element ref="kml:AbstractViewGroup" minOccurs="0"/>
- <element ref="kml:AbstractTimePrimitiveGroup" minOccurs="0"/>
- <element ref="kml:styleUrl" minOccurs="0"/>
- <element ref="kml:AbstractStyleSelectorGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:Region" minOccurs="0"/>
- <choice>
- <annotation>
- <documentation>Metadata deprecated in 2.2</documentation>
- </annotation>
- <element ref="kml:Metadata" minOccurs="0"/>
- <element ref="kml:ExtendedData" minOccurs="0"/>
- </choice>
- <element ref="kml:AbstractFeatureSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AbstractFeatureObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractFeatureObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <element name="AbstractFeatureSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
-
- <element name="Snippet" type="kml:SnippetType"/>
- <complexType name="SnippetType" final="#all">
- <simpleContent>
- <extension base="string">
- <attribute name="maxLines" type="int" use="optional" default="2"/>
- </extension>
- </simpleContent>
- </complexType>
-
- <element name="AbstractViewGroup" type="kml:AbstractViewType" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractViewType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:AbstractViewSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AbstractViewObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractViewSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractViewObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LookAt" type="kml:LookAtType"
- substitutionGroup="kml:AbstractViewGroup"/>
- <complexType name="LookAtType" final="#all">
- <complexContent>
- <extension base="kml:AbstractViewType">
- <sequence>
- <element ref="kml:longitude" minOccurs="0"/>
- <element ref="kml:latitude" minOccurs="0"/>
- <element ref="kml:altitude" minOccurs="0"/>
- <element ref="kml:heading" minOccurs="0"/>
- <element ref="kml:tilt" minOccurs="0"/>
- <element ref="kml:range" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:LookAtSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LookAtObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LookAtSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LookAtObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Camera" type="kml:CameraType"
- substitutionGroup="kml:AbstractViewGroup"/>
- <complexType name="CameraType" final="#all">
- <complexContent>
- <extension base="kml:AbstractViewType">
- <sequence>
- <element ref="kml:longitude" minOccurs="0"/>
- <element ref="kml:latitude" minOccurs="0"/>
- <element ref="kml:altitude" minOccurs="0"/>
- <element ref="kml:heading" minOccurs="0"/>
- <element ref="kml:tilt" minOccurs="0"/>
- <element ref="kml:roll" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:CameraSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:CameraObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="CameraSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="CameraObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Metadata" type="kml:MetadataType">
- <annotation>
- <documentation>Metadata deprecated in 2.2</documentation>
- </annotation>
- </element>
-
- <complexType name="MetadataType" final="#all">
- <annotation>
- <documentation>MetadataType deprecated in 2.2</documentation>
- </annotation>
- <sequence>
- <any namespace="##any" processContents="lax" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="ExtendedData" type="kml:ExtendedDataType"/>
- <complexType name="ExtendedDataType" final="#all">
- <sequence>
- <element ref="kml:Data" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:SchemaData" minOccurs="0" maxOccurs="unbounded"/>
- <any namespace="##other" processContents="lax" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="SchemaData" type="kml:SchemaDataType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="SchemaDataType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:SimpleData" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:SchemaDataExtension" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attribute name="schemaUrl" type="anyURI"/>
- </extension>
- </complexContent>
- </complexType>
- <element name="SchemaDataExtension" abstract="true"/>
-
- <element name="SimpleData" type="kml:SimpleDataType"/>
- <complexType name="SimpleDataType" final="#all">
- <simpleContent>
- <extension base="string">
- <attribute name="name" type="string" use="required"/>
- </extension>
- </simpleContent>
- </complexType>
-
- <element name="Data" type="kml:DataType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="DataType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:displayName" minOccurs="0"/>
- <element ref="kml:value"/>
- <element ref="kml:DataExtension" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="string"/>
- </extension>
- </complexContent>
- </complexType>
- <element name="DataExtension" abstract="true"/>
-
- <element name="AbstractContainerGroup" type="kml:AbstractContainerType"
- abstract="true" substitutionGroup="kml:AbstractFeatureGroup"/>
- <complexType name="AbstractContainerType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractFeatureType">
- <sequence>
- <element ref="kml:AbstractContainerSimpleExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractContainerObjectExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractContainerSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractContainerObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractGeometryGroup" type="kml:AbstractGeometryType"
- abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractGeometryType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:AbstractGeometrySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AbstractGeometryObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractGeometrySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractGeometryObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractOverlayGroup" type="kml:AbstractOverlayType"
- abstract="true" substitutionGroup="kml:AbstractFeatureGroup"/>
- <complexType name="AbstractOverlayType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractFeatureType">
- <sequence>
- <element ref="kml:color" minOccurs="0"/>
- <element ref="kml:drawOrder" minOccurs="0"/>
- <element ref="kml:Icon" minOccurs="0"/>
- <element ref="kml:AbstractOverlaySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AbstractOverlayObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractOverlaySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractOverlayObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractStyleSelectorGroup"
- type="kml:AbstractStyleSelectorType" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractStyleSelectorType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:AbstractStyleSelectorSimpleExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractStyleSelectorObjectExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractStyleSelectorSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractStyleSelectorObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractTimePrimitiveGroup"
- type="kml:AbstractTimePrimitiveType" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractTimePrimitiveType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:AbstractTimePrimitiveSimpleExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractTimePrimitiveObjectExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractTimePrimitiveSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractTimePrimitiveObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="kml" type="kml:KmlType">
- <annotation>
- <documentation><![CDATA[
-
- <kml> is the root element.
-
- ]]></documentation>
- </annotation>
- </element>
- <complexType name="KmlType" final="#all">
- <sequence>
- <element ref="kml:NetworkLinkControl" minOccurs="0"/>
- <element ref="kml:AbstractFeatureGroup" minOccurs="0"/>
- <element ref="kml:KmlSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:KmlObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attribute name="hint" type="string"/>
- </complexType>
- <element name="KmlSimpleExtensionGroup" abstract="true" type="anySimpleType"/>
- <element name="KmlObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="NetworkLinkControl" type="kml:NetworkLinkControlType"/>
- <complexType name="NetworkLinkControlType" final="#all">
- <sequence>
- <element ref="kml:minRefreshPeriod" minOccurs="0"/>
- <element ref="kml:maxSessionLength" minOccurs="0"/>
- <element ref="kml:cookie" minOccurs="0"/>
- <element ref="kml:message" minOccurs="0"/>
- <element ref="kml:linkName" minOccurs="0"/>
- <element ref="kml:linkDescription" minOccurs="0"/>
- <element ref="kml:linkSnippet" minOccurs="0"/>
- <element ref="kml:expires" minOccurs="0"/>
- <element ref="kml:Update" minOccurs="0"/>
- <element ref="kml:AbstractViewGroup" minOccurs="0"/>
- <element ref="kml:NetworkLinkControlSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:NetworkLinkControlObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- <element name="NetworkLinkControlSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="NetworkLinkControlObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Document" type="kml:DocumentType"
- substitutionGroup="kml:AbstractContainerGroup"/>
- <complexType name="DocumentType" final="#all">
- <complexContent>
- <extension base="kml:AbstractContainerType">
- <sequence>
- <element ref="kml:Schema" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractFeatureGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:DocumentSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:DocumentObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="DocumentSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="DocumentObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Schema" type="kml:SchemaType"/>
- <complexType name="SchemaType" final="#all">
- <sequence>
- <element ref="kml:SimpleField" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:SchemaExtension" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="name" type="string"/>
- <attribute name="id" type="ID"/>
- </complexType>
- <element name="SchemaExtension" abstract="true"/>
-
- <element name="SimpleField" type="kml:SimpleFieldType"/>
- <complexType name="SimpleFieldType" final="#all">
- <sequence>
- <element ref="kml:displayName" minOccurs="0"/>
- <element ref="kml:SimpleFieldExtension" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- <attribute name="type" type="string"/>
- <attribute name="name" type="string"/>
- </complexType>
- <element name="SimpleFieldExtension" abstract="true"/>
-
- <element name="Folder" type="kml:FolderType"
- substitutionGroup="kml:AbstractContainerGroup"/>
- <complexType name="FolderType" final="#all">
- <complexContent>
- <extension base="kml:AbstractContainerType">
- <sequence>
- <element ref="kml:AbstractFeatureGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:FolderSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:FolderObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="FolderSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="FolderObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Placemark" type="kml:PlacemarkType"
- substitutionGroup="kml:AbstractFeatureGroup"/>
- <complexType name="PlacemarkType" final="#all">
- <complexContent>
- <extension base="kml:AbstractFeatureType">
- <sequence>
- <element ref="kml:AbstractGeometryGroup" minOccurs="0"/>
- <element ref="kml:PlacemarkSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PlacemarkObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PlacemarkSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PlacemarkObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="NetworkLink" type="kml:NetworkLinkType"
- substitutionGroup="kml:AbstractFeatureGroup"/>
- <complexType name="NetworkLinkType" final="#all">
- <complexContent>
- <extension base="kml:AbstractFeatureType">
- <sequence>
- <element ref="kml:refreshVisibility" minOccurs="0"/>
- <element ref="kml:flyToView" minOccurs="0"/>
- <choice>
- <annotation>
- <documentation>Url deprecated in 2.2</documentation>
- </annotation>
- <element ref="kml:Url" minOccurs="0"/>
- <element ref="kml:Link" minOccurs="0"/>
- </choice>
- <element ref="kml:NetworkLinkSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:NetworkLinkObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="NetworkLinkSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="NetworkLinkObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Region" type="kml:RegionType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="RegionType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:LatLonAltBox" minOccurs="0"/>
- <element ref="kml:Lod" minOccurs="0"/>
- <element ref="kml:RegionSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:RegionObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="RegionSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="RegionObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LatLonAltBox" type="kml:LatLonAltBoxType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="LatLonAltBoxType" final="#all">
- <complexContent>
- <extension base="kml:AbstractLatLonBoxType">
- <sequence>
- <element ref="kml:minAltitude" minOccurs="0"/>
- <element ref="kml:maxAltitude" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:LatLonAltBoxSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LatLonAltBoxObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LatLonAltBoxSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LatLonAltBoxObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Lod" type="kml:LodType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="LodType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:minLodPixels" minOccurs="0"/>
- <element ref="kml:maxLodPixels" minOccurs="0"/>
- <element ref="kml:minFadeExtent" minOccurs="0"/>
- <element ref="kml:maxFadeExtent" minOccurs="0"/>
- <element ref="kml:LodSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LodObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LodSimpleExtensionGroup" abstract="true" type="anySimpleType"/>
- <element name="LodObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Icon" type="kml:LinkType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <element name="Link" type="kml:LinkType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <element name="Url" type="kml:LinkType"
- substitutionGroup="kml:AbstractObjectGroup">
- <annotation>
- <documentation>Url deprecated in 2.2</documentation>
- </annotation>
- </element>
- <complexType name="LinkType" final="#all">
- <complexContent>
- <extension base="kml:BasicLinkType">
- <sequence>
- <element ref="kml:refreshMode" minOccurs="0"/>
- <element ref="kml:refreshInterval" minOccurs="0"/>
- <element ref="kml:viewRefreshMode" minOccurs="0"/>
- <element ref="kml:viewRefreshTime" minOccurs="0"/>
- <element ref="kml:viewBoundScale" minOccurs="0"/>
- <element ref="kml:viewFormat" minOccurs="0"/>
- <element ref="kml:httpQuery" minOccurs="0"/>
- <element ref="kml:LinkSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LinkObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LinkSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LinkObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="MultiGeometry" type="kml:MultiGeometryType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="MultiGeometryType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:AbstractGeometryGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:MultiGeometrySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:MultiGeometryObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="MultiGeometrySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="MultiGeometryObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Point" type="kml:PointType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="PointType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:extrude" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:coordinates" minOccurs="0"/>
- <element ref="kml:PointSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PointObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PointSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PointObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LineString" type="kml:LineStringType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="LineStringType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:extrude" minOccurs="0"/>
- <element ref="kml:tessellate" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:coordinates" minOccurs="0"/>
- <element ref="kml:LineStringSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LineStringObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LineStringSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LineStringObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LinearRing" type="kml:LinearRingType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="LinearRingType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:extrude" minOccurs="0"/>
- <element ref="kml:tessellate" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:coordinates" minOccurs="0"/>
- <element ref="kml:LinearRingSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LinearRingObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LinearRingSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LinearRingObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Polygon" type="kml:PolygonType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="PolygonType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:extrude" minOccurs="0"/>
- <element ref="kml:tessellate" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:outerBoundaryIs" minOccurs="0"/>
- <element ref="kml:innerBoundaryIs" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PolygonSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PolygonObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PolygonSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PolygonObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="outerBoundaryIs" type="kml:BoundaryType"/>
- <element name="innerBoundaryIs" type="kml:BoundaryType"/>
- <complexType name="BoundaryType" final="#all">
- <sequence>
- <element ref="kml:LinearRing" minOccurs="0"/>
- <element ref="kml:BoundarySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:BoundaryObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- <element name="BoundarySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="BoundaryObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Model" type="kml:ModelType"
- substitutionGroup="kml:AbstractGeometryGroup"/>
- <complexType name="ModelType" final="#all">
- <complexContent>
- <extension base="kml:AbstractGeometryType">
- <sequence>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:Location" minOccurs="0"/>
- <element ref="kml:Orientation" minOccurs="0"/>
- <element ref="kml:Scale" minOccurs="0"/>
- <element ref="kml:Link" minOccurs="0"/>
- <element ref="kml:ResourceMap" minOccurs="0"/>
- <element ref="kml:ModelSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ModelObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ModelSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ModelObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Location" type="kml:LocationType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="LocationType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:longitude" minOccurs="0"/>
- <element ref="kml:latitude" minOccurs="0"/>
- <element ref="kml:altitude" minOccurs="0"/>
- <element ref="kml:LocationSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LocationObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LocationSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LocationObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Orientation" type="kml:OrientationType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="OrientationType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:heading" minOccurs="0"/>
- <element ref="kml:tilt" minOccurs="0"/>
- <element ref="kml:roll" minOccurs="0"/>
- <element ref="kml:OrientationSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:OrientationObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="OrientationSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="OrientationObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Scale" type="kml:ScaleType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="ScaleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:x" minOccurs="0"/>
- <element ref="kml:y" minOccurs="0"/>
- <element ref="kml:z" minOccurs="0"/>
- <element ref="kml:ScaleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ScaleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ScaleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ScaleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ResourceMap" type="kml:ResourceMapType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="ResourceMapType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:Alias" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:ResourceMapSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ResourceMapObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ResourceMapSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ResourceMapObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Alias" type="kml:AliasType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AliasType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:targetHref" minOccurs="0"/>
- <element ref="kml:sourceHref" minOccurs="0"/>
- <element ref="kml:AliasSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AliasObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AliasSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AliasObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="GroundOverlay" type="kml:GroundOverlayType"
- substitutionGroup="kml:AbstractOverlayGroup"/>
- <complexType name="GroundOverlayType" final="#all">
- <complexContent>
- <extension base="kml:AbstractOverlayType">
- <sequence>
- <element ref="kml:altitude" minOccurs="0"/>
- <element ref="kml:altitudeModeGroup" minOccurs="0"/>
- <element ref="kml:LatLonBox" minOccurs="0"/>
- <element ref="kml:GroundOverlaySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:GroundOverlayObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="GroundOverlaySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="GroundOverlayObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <complexType name="AbstractLatLonBoxType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:north" minOccurs="0"/>
- <element ref="kml:south" minOccurs="0"/>
- <element ref="kml:east" minOccurs="0"/>
- <element ref="kml:west" minOccurs="0"/>
- <element ref="kml:AbstractLatLonBoxSimpleExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractLatLonBoxObjectExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractLatLonBoxSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractLatLonBoxObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LatLonBox" type="kml:LatLonBoxType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="LatLonBoxType" final="#all">
- <complexContent>
- <extension base="kml:AbstractLatLonBoxType">
- <sequence>
- <element ref="kml:rotation" minOccurs="0"/>
- <element ref="kml:LatLonBoxSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LatLonBoxObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LatLonBoxSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LatLonBoxObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ScreenOverlay" type="kml:ScreenOverlayType"
- substitutionGroup="kml:AbstractOverlayGroup"/>
- <complexType name="ScreenOverlayType" final="#all">
- <complexContent>
- <extension base="kml:AbstractOverlayType">
- <sequence>
- <element ref="kml:overlayXY" minOccurs="0"/>
- <element ref="kml:screenXY" minOccurs="0"/>
- <element ref="kml:rotationXY" minOccurs="0"/>
- <element ref="kml:size" minOccurs="0"/>
- <element ref="kml:rotation" minOccurs="0"/>
- <element ref="kml:ScreenOverlaySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ScreenOverlayObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ScreenOverlaySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ScreenOverlayObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="PhotoOverlay" type="kml:PhotoOverlayType"
- substitutionGroup="kml:AbstractOverlayGroup"/>
- <complexType name="PhotoOverlayType" final="#all">
- <complexContent>
- <extension base="kml:AbstractOverlayType">
- <sequence>
- <element ref="kml:rotation" minOccurs="0"/>
- <element ref="kml:ViewVolume" minOccurs="0"/>
- <element ref="kml:ImagePyramid" minOccurs="0"/>
- <element ref="kml:Point" minOccurs="0"/>
- <element ref="kml:shape" minOccurs="0"/>
- <element ref="kml:PhotoOverlaySimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PhotoOverlayObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PhotoOverlaySimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PhotoOverlayObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ViewVolume" type="kml:ViewVolumeType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="ViewVolumeType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:leftFov" minOccurs="0"/>
- <element ref="kml:rightFov" minOccurs="0"/>
- <element ref="kml:bottomFov" minOccurs="0"/>
- <element ref="kml:topFov" minOccurs="0"/>
- <element ref="kml:near" minOccurs="0"/>
- <element ref="kml:ViewVolumeSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ViewVolumeObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ViewVolumeSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ViewVolumeObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ImagePyramid" type="kml:ImagePyramidType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="ImagePyramidType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:tileSize" minOccurs="0"/>
- <element ref="kml:maxWidth" minOccurs="0"/>
- <element ref="kml:maxHeight" minOccurs="0"/>
- <element ref="kml:gridOrigin" minOccurs="0"/>
- <element ref="kml:ImagePyramidSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ImagePyramidObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ImagePyramidSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ImagePyramidObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Style" type="kml:StyleType"
- substitutionGroup="kml:AbstractStyleSelectorGroup"/>
- <complexType name="StyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractStyleSelectorType">
- <sequence>
- <element ref="kml:IconStyle" minOccurs="0"/>
- <element ref="kml:LabelStyle" minOccurs="0"/>
- <element ref="kml:LineStyle" minOccurs="0"/>
- <element ref="kml:PolyStyle" minOccurs="0"/>
- <element ref="kml:BalloonStyle" minOccurs="0"/>
- <element ref="kml:ListStyle" minOccurs="0"/>
- <element ref="kml:StyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:StyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="StyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="StyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="StyleMap" type="kml:StyleMapType"
- substitutionGroup="kml:AbstractStyleSelectorGroup"/>
- <complexType name="StyleMapType" final="#all">
- <complexContent>
- <extension base="kml:AbstractStyleSelectorType">
- <sequence>
- <element ref="kml:Pair" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:StyleMapSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:StyleMapObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="StyleMapSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="StyleMapObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Pair" type="kml:PairType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="PairType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:key" minOccurs="0"/>
- <element ref="kml:styleUrl" minOccurs="0"/>
- <element ref="kml:AbstractStyleSelectorGroup" minOccurs="0"/>
- <element ref="kml:PairSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PairObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PairSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PairObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractSubStyleGroup" type="kml:AbstractSubStyleType"
- abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="AbstractSubStyleType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:AbstractSubStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:AbstractSubStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractSubStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="AbstractSubStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="AbstractColorStyleGroup" type="kml:AbstractColorStyleType"
- abstract="true" substitutionGroup="kml:AbstractSubStyleGroup"/>
- <complexType name="AbstractColorStyleType" abstract="true">
- <complexContent>
- <extension base="kml:AbstractSubStyleType">
- <sequence>
- <element ref="kml:color" minOccurs="0"/>
- <element ref="kml:colorMode" minOccurs="0"/>
- <element ref="kml:AbstractColorStyleSimpleExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:AbstractColorStyleObjectExtensionGroup"
- minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="AbstractColorStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <element name="AbstractColorStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
-
- <element name="IconStyle" type="kml:IconStyleType"
- substitutionGroup="kml:AbstractColorStyleGroup"/>
- <complexType name="IconStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractColorStyleType">
- <sequence>
- <element ref="kml:scale" minOccurs="0"/>
- <element ref="kml:heading" minOccurs="0"/>
- <element name="Icon" type="kml:BasicLinkType" minOccurs="0"/>
- <element ref="kml:hotSpot" minOccurs="0"/>
- <element ref="kml:IconStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:IconStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="IconStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="IconStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <complexType name="BasicLinkType">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:href" minOccurs="0"/>
- <element ref="kml:BasicLinkSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:BasicLinkObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="BasicLinkSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="BasicLinkObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LabelStyle" type="kml:LabelStyleType"
- substitutionGroup="kml:AbstractColorStyleGroup"/>
- <complexType name="LabelStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractColorStyleType">
- <sequence>
- <element ref="kml:scale" minOccurs="0"/>
- <element ref="kml:LabelStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LabelStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LabelStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LabelStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="LineStyle" type="kml:LineStyleType"
- substitutionGroup="kml:AbstractColorStyleGroup"/>
- <complexType name="LineStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractColorStyleType">
- <sequence>
- <element ref="kml:width" minOccurs="0"/>
- <element ref="kml:LineStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:LineStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="LineStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="LineStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="PolyStyle" type="kml:PolyStyleType"
- substitutionGroup="kml:AbstractColorStyleGroup"/>
- <complexType name="PolyStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractColorStyleType">
- <sequence>
- <element ref="kml:fill" minOccurs="0"/>
- <element ref="kml:outline" minOccurs="0"/>
- <element ref="kml:PolyStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:PolyStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="PolyStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="PolyStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="BalloonStyle" type="kml:BalloonStyleType"
- substitutionGroup="kml:AbstractSubStyleGroup"/>
- <complexType name="BalloonStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractSubStyleType">
- <sequence>
- <choice>
- <annotation>
- <documentation>color deprecated in 2.1</documentation>
- </annotation>
- <element ref="kml:color" minOccurs="0"/>
- <element ref="kml:bgColor" minOccurs="0"/>
- </choice>
- <element ref="kml:textColor" minOccurs="0"/>
- <element ref="kml:text" minOccurs="0"/>
- <element ref="kml:displayMode" minOccurs="0"/>
- <element ref="kml:BalloonStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:BalloonStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="BalloonStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="BalloonStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ListStyle" type="kml:ListStyleType"
- substitutionGroup="kml:AbstractSubStyleGroup"/>
- <complexType name="ListStyleType" final="#all">
- <complexContent>
- <extension base="kml:AbstractSubStyleType">
- <sequence>
- <element ref="kml:listItemType" minOccurs="0"/>
- <element ref="kml:bgColor" minOccurs="0"/>
- <element ref="kml:ItemIcon" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="kml:maxSnippetLines" minOccurs="0"/>
- <element ref="kml:ListStyleSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ListStyleObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ListStyleSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ListStyleObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="ItemIcon" type="kml:ItemIconType"
- substitutionGroup="kml:AbstractObjectGroup"/>
- <complexType name="ItemIconType" final="#all">
- <complexContent>
- <extension base="kml:AbstractObjectType">
- <sequence>
- <element ref="kml:state" minOccurs="0"/>
- <element ref="kml:href" minOccurs="0"/>
- <element ref="kml:ItemIconSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:ItemIconObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="ItemIconSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="ItemIconObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="TimeStamp" type="kml:TimeStampType"
- substitutionGroup="kml:AbstractTimePrimitiveGroup"/>
- <complexType name="TimeStampType" final="#all">
- <complexContent>
- <extension base="kml:AbstractTimePrimitiveType">
- <sequence>
- <element ref="kml:when" minOccurs="0"/>
- <element ref="kml:TimeStampSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:TimeStampObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="TimeStampSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="TimeStampObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="TimeSpan" type="kml:TimeSpanType"
- substitutionGroup="kml:AbstractTimePrimitiveGroup"/>
- <complexType name="TimeSpanType" final="#all">
- <complexContent>
- <extension base="kml:AbstractTimePrimitiveType">
- <sequence>
- <element ref="kml:begin" minOccurs="0"/>
- <element ref="kml:end" minOccurs="0"/>
- <element ref="kml:TimeSpanSimpleExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- <element ref="kml:TimeSpanObjectExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </extension>
- </complexContent>
- </complexType>
- <element name="TimeSpanSimpleExtensionGroup" abstract="true"
- type="anySimpleType"/>
- <element name="TimeSpanObjectExtensionGroup" abstract="true"
- substitutionGroup="kml:AbstractObjectGroup"/>
-
- <element name="Update" type="kml:UpdateType"/>
- <complexType name="UpdateType" final="#all">
- <sequence>
- <element ref="kml:targetHref"/>
- <choice maxOccurs="unbounded">
- <element ref="kml:Create"/>
- <element ref="kml:Delete"/>
- <element ref="kml:Change"/>
- <element ref="kml:UpdateOpExtensionGroup"/>
- </choice>
- <element ref="kml:UpdateExtensionGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- <element name="UpdateOpExtensionGroup" abstract="true"/>
- <element name="UpdateExtensionGroup" abstract="true"/>
-
- <element name="Create" type="kml:CreateType"/>
- <complexType name="CreateType">
- <sequence>
- <element ref="kml:AbstractContainerGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="Delete" type="kml:DeleteType"/>
- <complexType name="DeleteType">
- <sequence>
- <element ref="kml:AbstractFeatureGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <element name="Change" type="kml:ChangeType"/>
- <complexType name="ChangeType">
- <sequence>
- <element ref="kml:AbstractObjectGroup" minOccurs="0"
- maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
-</schema>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--Modified by Ram Kumar (MSI) on 24 July 2002-->\r
-<xs:schema targetNamespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" elementFormDefault="qualified">\r
- <xs:annotation>\r
- <xs:documentation>xAL: eXtensible Address Language \r
-This is an XML document type definition (DTD) for\r
-defining addresses.\r
-Original Date of Creation: 1 March 2001\r
-Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]\r
-Contact: Customer Information Quality Technical Committee, OASIS\r
-http://www.oasis-open.org/committees/ciq\r
-VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002\r
-Last Update: 24 July 2002\r
-Previous Version: 1.3</xs:documentation>\r
- </xs:annotation>\r
- <xs:annotation>\r
- <xs:documentation>Common Attributes:Type - If not documented then it means, possible values of Type not limited to: Official, Unique, Abbreviation, OldName, Synonym\r
-Code:Address element codes are used by groups like postal groups like ECCMA, ADIS, UN/PROLIST for postal services</xs:documentation>\r
- </xs:annotation>\r
- <xs:attributeGroup name="grPostal">\r
- <xs:attribute name="Code">\r
- <xs:annotation>\r
- <xs:documentation>Used by postal services to encode the name of the element.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- </xs:attributeGroup>\r
- <xs:element name="xAL">\r
- <xs:annotation>\r
- <xs:documentation>Root element for a list of addresses</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressDetails" maxOccurs="unbounded"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Version">\r
- <xs:annotation>\r
- <xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressDetails" type="AddressDetails">\r
- <xs:annotation>\r
- <xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:complexType name="AddressDetails">\r
- <xs:sequence>\r
- <xs:element name="PostalServiceElements" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="IdentifierType">\r
- <xs:annotation>\r
- <xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="EndorsementLineCode" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Directly affects postal service distribution</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="KeyLineCode" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Required for some postal services</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Barcode" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Required for some postal services</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SortingCode" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressLatitude" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Latitude of delivery address</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressLatitudeDirection" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressLongitude" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Longtitude of delivery address</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressLongitudeDirection" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Specific to postal service</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Use the most suitable option. Country contains the most detailed information while Locality is missing Country and AdminArea</xs:documentation>\r
- </xs:annotation>\r
- <xs:element name="Address">\r
- <xs:annotation>\r
- <xs:documentation>Address as one line of free text</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Postal, residential, corporate, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AddressLines" type="AddressLinesType">\r
- <xs:annotation>\r
- <xs:documentation>Container for Address lines</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="Country">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a country</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>A country code according to the specified scheme</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Scheme">\r
- <xs:annotation>\r
- <xs:documentation>Country code scheme possible values, but not limited to: iso.3166-2, iso.3166-3 for two and three character country codes.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:choice minOccurs="0">\r
- <xs:element ref="AdministrativeArea"/>\r
- <xs:element ref="Locality"/>\r
- <xs:element ref="Thoroughfare"/>\r
- </xs:choice>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element ref="AdministrativeArea"/>\r
- <xs:element ref="Locality"/>\r
- <xs:element ref="Thoroughfare"/>\r
- </xs:choice>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="AddressType">\r
- <xs:annotation>\r
- <xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="CurrentStatus">\r
- <xs:annotation>\r
- <xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="ValidFromDate">\r
- <xs:annotation>\r
- <xs:documentation>Start Date of the validity of address</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="ValidToDate">\r
- <xs:annotation>\r
- <xs:documentation>End date of the validity of address</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Usage">\r
- <xs:annotation>\r
- <xs:documentation>Communication, Contact, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:attribute name="AddressDetailsKey">\r
- <xs:annotation>\r
- <xs:documentation>Key identifier for the element for not reinforced references from other elements. Not required to be unique for the document to be valid, but application may get confused if not unique. Extend this schema adding unique contraint if needed.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="AddressLinesType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" maxOccurs="unbounded"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="BuildingNameType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="TypeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="DependentLocalityType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the dependent locality</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="DependentLocalityNumber" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Number of the dependent locality. Some areas are numbered. Eg. SECTOR 5 in a Suburb as in India or SOI SUKUMVIT 10 as in Thailand</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NameNumberOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element ref="PostBox"/>\r
- <xs:element name="LargeMailUser" type="LargeMailUserType">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostOffice"/>\r
- <xs:element name="PostalRoute" type="PostalRouteType">\r
- <xs:annotation>\r
- <xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element ref="Thoroughfare" minOccurs="0"/>\r
- <xs:element ref="Premise" minOccurs="0"/>\r
- <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
-divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>City or IndustrialEstate, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="UsageType">\r
- <xs:annotation>\r
- <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Connector">\r
- <xs:annotation>\r
- <xs:documentation>"VIA" as in Hill Top VIA Parish where Parish is a locality and Hill Top is a dependent locality</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="FirmType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the firm</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="LargeMailUserType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type" type="xs:string">\r
- <xs:annotation>\r
- <xs:documentation>Airport, Hospital, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Code" type="xs:string"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="LargeMailUserIdentifier" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the identification number of a large mail user. An example are the Cedex codes in France.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type" type="xs:string">\r
- <xs:annotation>\r
- <xs:documentation>CEDEX Code</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the building</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="Department" minOccurs="0"/>\r
- <xs:element ref="PostBox" minOccurs="0"/>\r
- <xs:element ref="Thoroughfare" minOccurs="0"/>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type" type="xs:string"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="MailStopType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="MailStopName" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="MailStopNumber" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NameNumberSeparator">\r
- <xs:annotation>\r
- <xs:documentation>"-" in MS-123</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="PostalRouteType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:choice>\r
- <xs:element name="PostalRouteName" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Name of the Postal Route</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostalRouteNumber">\r
- <xs:annotation>\r
- <xs:documentation> Number of the Postal Route</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element ref="PostBox" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="SubPremiseType">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Name of the SubPremise</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="TypeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element name="SubPremiseLocation">\r
- <xs:annotation>\r
- <xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attributeGroup ref="grPostal"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Specification of the identifier of a sub-premise. Examples of sub-premises are apartments and suites. sub-premises in a building are often uniquely identified by means of consecutive\r
-identifiers. The identifier can be a number, a letter or any combination of the two. In the latter case, the identifier includes exactly one variable (range) part, which is either a \r
-number or a single letter that is surrounded by fixed parts at the left (prefix) or the right (postfix).</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="IndicatorOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="NumberTypeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="PremiseNumberSeparator">\r
- <xs:annotation>\r
- <xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberPrefixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberSuffixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the building</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="Firm" type="FirmType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. \r
-Each sub-premise should be uniquely identifiable. SubPremiseType: Specification of the name of a sub-premise type. Possible values not limited to: Suite, Appartment, Floor, Unknown\r
-Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, Block C</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="ThoroughfareLeadingTypeType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="ThoroughfareNameType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="ThoroughfarePostDirectionType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="ThoroughfarePreDirectionType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:complexType name="ThoroughfareTrailingTypeType" mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- <xs:element name="AddressLine">\r
- <xs:annotation>\r
- <xs:documentation>Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Locality">\r
- <xs:annotation>\r
- <xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the locality</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element ref="PostBox"/>\r
- <xs:element name="LargeMailUser" type="LargeMailUserType">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostOffice"/>\r
- <xs:element name="PostalRoute" type="PostalRouteType">\r
- <xs:annotation>\r
- <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element ref="Thoroughfare" minOccurs="0"/>\r
- <xs:element ref="Premise" minOccurs="0"/>\r
- <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
-divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="UsageType">\r
- <xs:annotation>\r
- <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Thoroughfare">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc. Note dependentlocality in a street. For example, in some countries, a large street will \r
-have many subdivisions with numbers. Normally the subdivision name is the same as the road name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:choice minOccurs="0" maxOccurs="unbounded">\r
- <xs:element ref="ThoroughfareNumber"/>\r
- <xs:element name="ThoroughfareNumberRange">\r
- <xs:annotation>\r
- <xs:documentation>A container to represent a range of numbers (from x thru y)for a thoroughfare. eg. 1-2 Albert Av</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="ThoroughfareNumberFrom">\r
- <xs:annotation>\r
- <xs:documentation>Starting number in the range</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="ThoroughfareNumberTo">\r
- <xs:annotation>\r
- <xs:documentation>Ending number in the range</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attribute name="RangeType">\r
- <xs:annotation>\r
- <xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Odd"/>\r
- <xs:enumeration value="Even"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>"No." No.12-13</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Separator">\r
- <xs:annotation>\r
- <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="IndicatorOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="NumberRangeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>23-25 Archer St, where number appears before name</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="BeforeName"/>\r
- <xs:enumeration value="AfterName"/>\r
- <xs:enumeration value="BeforeType"/>\r
- <xs:enumeration value="AfterType"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="DependentThoroughfare" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element name="DependentLocality" type="DependentLocalityType">\r
- <xs:annotation>\r
- <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
-divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="Premise"/>\r
- <xs:element name="Firm" type="FirmType">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from \r
-a large mail user address, which contains no street.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode"/>\r
- </xs:choice>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="DependentThoroughfares">\r
- <xs:annotation>\r
- <xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Yes"/>\r
- <xs:enumeration value="No"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="DependentThoroughfaresIndicator">\r
- <xs:annotation>\r
- <xs:documentation>Corner of, Intersection of</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="DependentThoroughfaresConnector">\r
- <xs:annotation>\r
- <xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="DependentThoroughfaresType">\r
- <xs:annotation>\r
- <xs:documentation>STS in GEORGE and ADELAIDE STS, RDS IN A and B RDS, etc. Use only when both the street types are the same</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="AdministrativeArea">\r
- <xs:annotation>\r
- <xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="SubAdministrativeArea" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation> Specification of a sub-administrative area. An example of a sub-administrative areas is a county. There are two places where the name of an administrative \r
-area can be specified and in this case, one becomes sub-administrative area.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation> Name of the sub-administrative area</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element ref="Locality"/>\r
- <xs:element ref="PostOffice"/>\r
- <xs:element ref="PostalCode"/>\r
- </xs:choice>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="UsageType">\r
- <xs:annotation>\r
- <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element ref="Locality"/>\r
- <xs:element ref="PostOffice"/>\r
- <xs:element ref="PostalCode"/>\r
- </xs:choice>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="UsageType">\r
- <xs:annotation>\r
- <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostOffice">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a post office. Examples are a rural post office where post is delivered and a post office containing post office boxes.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:choice>\r
- <xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of the post office. This can be a rural postoffice where post is delivered or a post office containing post office boxes.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostOfficeNumber" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="IndicatorOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>MS occurs before 62 in MS 62</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostBox" minOccurs="0"/>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostalCode">\r
- <xs:annotation>\r
- <xs:documentation>PostalCode is the container element for either simple or complex (extended) postal codes. Type: Area Code, Postcode, etc.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a postcode. The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Old Postal Code, new code, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="NumberExtensionSeparator">\r
- <xs:annotation>\r
- <xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostTown" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A post town is not the same as a locality. A post town can encompass a collection of (small) localities. It can also be a subpart of a locality. An actual post town in Norway is "Bergen".</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Name of the post town</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostTownSuffix" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>eg. village, town, suburb, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostBox">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a postbox like mail delivery point. Only a single postbox number can be specified. Examples of postboxes are POBox, free mail numbers, etc.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="PostBoxNumber">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the number of a postbox</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostBoxNumberPrefix" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberPrefixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostBoxNumberSuffix" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberSuffixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PostBoxNumberExtension" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberExtensionSeparator">\r
- <xs:annotation>\r
- <xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Firm" type="FirmType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from \r
-a large mail user address, which contains no street.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Department">\r
- <xs:annotation>\r
- <xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of a department.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="Premise">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a single premise, for example a house or a building. The premise as a whole has a unique premise (house) number or a premise name. There could be more than \r
-one premise in a street referenced in an address. For example a building address near a major shopping centre or raiwlay station</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of the premise (house, building, park, farm, etc). A premise name is specified when the premise cannot be addressed using a street name plus premise (house) number.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="TypeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice minOccurs="0">\r
- <xs:element name="PremiseLocation">\r
- <xs:annotation>\r
- <xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:choice>\r
- <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
- <xs:element name="PremiseNumberRange">\r
- <xs:annotation>\r
- <xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element name="PremiseNumberRangeFrom">\r
- <xs:annotation>\r
- <xs:documentation>Start number details of the premise number range</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PremiseNumberRangeTo">\r
- <xs:annotation>\r
- <xs:documentation>End number details of the premise number range</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:sequence>\r
- <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:sequence>\r
- <xs:attribute name="RangeType">\r
- <xs:annotation>\r
- <xs:documentation>Eg. Odd or even number range</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Separator">\r
- <xs:annotation>\r
- <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="IndicatorOccurence">\r
- <xs:annotation>\r
- <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="NumberRangeOccurence">\r
- <xs:annotation>\r
- <xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="BeforeName"/>\r
- <xs:enumeration value="AfterName"/>\r
- <xs:enumeration value="BeforeType"/>\r
- <xs:enumeration value="AfterType"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- </xs:complexType>\r
- </xs:element>\r
- </xs:choice>\r
- </xs:choice>\r
- <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
- <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of a building.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:choice>\r
- <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. Each sub-premise should be uniquely identifiable.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element name="Firm" type="FirmType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- </xs:choice>\r
- <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
- <xs:annotation>\r
- <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
- </xs:annotation>\r
- </xs:element>\r
- <xs:element ref="PostalCode" minOccurs="0"/>\r
- <xs:element ref="Premise" minOccurs="0"/>\r
- <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
- </xs:sequence>\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="PremiseDependency">\r
- <xs:annotation>\r
- <xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="PremiseDependencyType">\r
- <xs:annotation>\r
- <xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="PremiseThoroughfareConnector">\r
- <xs:annotation>\r
- <xs:documentation>DES, DE, LA, LA, DU in RUE DU BOIS. These terms connect a premise/thoroughfare type and premise/thoroughfare name. Terms may appear with names AVE DU BOIS</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="ThoroughfareNumberPrefix">\r
- <xs:annotation>\r
- <xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:annotation>\r
- <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- <xs:attribute name="NumberPrefixSeparator"/>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="ThoroughfareNumberSuffix">\r
- <xs:annotation>\r
- <xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberSuffixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>\r
- <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="ThoroughfareNumber">\r
- <xs:annotation>\r
- <xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberType">\r
- <xs:annotation>\r
- <xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Single"/>\r
- <xs:enumeration value="Range"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="IndicatorOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>No.12 where "No." is before actual street number</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="NumberOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="BeforeName"/>\r
- <xs:enumeration value="AfterName"/>\r
- <xs:enumeration value="BeforeType"/>\r
- <xs:enumeration value="AfterType"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PremiseNumber">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the identifier of the premise (house, building, etc). Premises in a street are often uniquely identified by means of consecutive identifiers. The identifier can be a number, a letter or any combination of the two.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberType">\r
- <xs:annotation>\r
- <xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Single"/>\r
- <xs:enumeration value="Range"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attribute name="Indicator">\r
- <xs:annotation>\r
- <xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="IndicatorOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>No. occurs before 12 No.12</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attribute name="NumberTypeOccurrence">\r
- <xs:annotation>\r
- <xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation>\r
- </xs:annotation>\r
- <xs:simpleType>\r
- <xs:restriction base="xs:NMTOKEN">\r
- <xs:enumeration value="Before"/>\r
- <xs:enumeration value="After"/>\r
- </xs:restriction>\r
- </xs:simpleType>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PremiseNumberPrefix">\r
- <xs:annotation>\r
- <xs:documentation>A in A12</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType>\r
- <xs:simpleContent>\r
- <xs:extension base="xs:string">\r
- <xs:attribute name="NumberPrefixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:extension>\r
- </xs:simpleContent>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="PremiseNumberSuffix">\r
- <xs:annotation>\r
- <xs:documentation>A in 12A</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="NumberSuffixSeparator">\r
- <xs:annotation>\r
- <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attribute name="Type"/>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
- <xs:element name="CountryName">\r
- <xs:annotation>\r
- <xs:documentation>Specification of the name of a country.</xs:documentation>\r
- </xs:annotation>\r
- <xs:complexType mixed="true">\r
- <xs:attribute name="Type">\r
- <xs:annotation>\r
- <xs:documentation>Old name, new name, etc</xs:documentation>\r
- </xs:annotation>\r
- </xs:attribute>\r
- <xs:attributeGroup ref="grPostal"/>\r
- <xs:anyAttribute namespace="##other"/>\r
- </xs:complexType>\r
- </xs:element>\r
-</xs:schema>\r
--- /dev/null
+#!/bin/bash
+
+wget -O topografix/gpx10.xsd "http://www.topografix.com/GPX/1/0/gpx.xsd"
+wget -O topografix/gpx11.xsd "http://www.topografix.com/GPX/1/1/gpx.xsd"
+
+wget -P garmin "https://www8.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd"
+wget -P garmin "https://www8.garmin.com/xmlschemas/TrackPointExtensionv1.xsd"
+wget -P garmin "https://www8.garmin.com/xmlschemas/TrackPointExtensionv2.xsd"
+wget -P garmin "https://www8.garmin.com/xmlschemas/TripExtensionsv1.xsd"
+
+wget -O groundspeak/cache10.xsd "http://www.groundspeak.com/cache/1/0/cache.xsd"
+wget -O groundspeak/cache101.xsd "http://www.groundspeak.com/cache/1/0/1/cache.xsd"
+wget -O groundspeak/cache11.xsd "http://www.groundspeak.com/cache/1/1/cache.xsd"
+wget -O groundspeak/cache12.xsd "http://www.groundspeak.com/cache/1/2/cache.xsd"
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/GpxExtensions/v3"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/GpxExtensions/v3"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines the Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root elements defined by this schema are intended to be used as child\r
+ elements of the "extensions" elements in the GPX 1.1 schema. The GPX 1.1\r
+ schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="WaypointExtension" type="WaypointExtension_t" />\r
+\r
+ <xsd:element name="RouteExtension" type="RouteExtension_t" />\r
+ \r
+ <xsd:element name="RoutePointExtension" type="RoutePointExtension_t" />\r
+\r
+ <xsd:element name="TrackExtension" type="TrackExtension_t" />\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="WaypointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB waypoints that cannot\r
+ be represented in waypoints in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Proximity" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="Temperature" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="Depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="DisplayMode" type="DisplayMode_t" minOccurs="0" />\r
+ <xsd:element name="Categories" type="Categories_t" minOccurs="0" />\r
+ <xsd:element name="Address" type="Address_t" minOccurs="0"/>\r
+ <xsd:element name="PhoneNumber" type="PhoneNumber_t" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Categories_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a list of categories to which a waypoint has been assigned.\r
+ Note that this list may contain categories which do not exist for a particular\r
+ application installation.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Category" type="xsd:string" maxOccurs="unbounded" />\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Address_t">\r
+ <xsd:sequence>\r
+ <xsd:element name="StreetAddress" type="xsd:token" minOccurs="0" maxOccurs="2"/>\r
+ <xsd:element name="City" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="State" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="Country" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="PostalCode" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="PhoneNumber_t">\r
+ <xsd:simpleContent>\r
+ <xsd:extension base="xsd:token">\r
+ <xsd:attribute name="Category" type="xsd:token">\r
+ <xsd:annotation>\r
+ <xsd:documentation>Category provides the ability to specify the type of a \r
+ phone number. For example, a phone number can be categorized as\r
+ "Home", "Work", "Mobile" e.t.c</xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:extension>\r
+ </xsd:simpleContent>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="RouteExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB routes that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="IsAutoNamed" type="xsd:boolean" />\r
+ <xsd:element name="DisplayColor" type="DisplayColor_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="RoutePointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB routes that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Subclass" type="Subclass_t" minOccurs="0"/>\r
+ <xsd:element name="rpt" type="AutoroutePoint_t" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="TrackExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB tracks that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="DisplayColor" type="DisplayColor_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB track points that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Temperature" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="Depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DisplayMode_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a string that specifies how a waypoint should be\r
+ displayed on a map.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:token">\r
+ <xsd:enumeration value="SymbolOnly"/>\r
+ <xsd:enumeration value="SymbolAndName"/>\r
+ <xsd:enumeration value="SymbolAndDescription"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DisplayColor_t">\r
+ <xsd:restriction base="xsd:token">\r
+ <xsd:enumeration value="Black"/>\r
+ <xsd:enumeration value="DarkRed"/>\r
+ <xsd:enumeration value="DarkGreen"/>\r
+ <xsd:enumeration value="DarkYellow"/>\r
+ <xsd:enumeration value="DarkBlue"/>\r
+ <xsd:enumeration value="DarkMagenta"/>\r
+ <xsd:enumeration value="DarkCyan"/>\r
+ <xsd:enumeration value="LightGray"/>\r
+ <xsd:enumeration value="DarkGray"/>\r
+ <xsd:enumeration value="Red"/>\r
+ <xsd:enumeration value="Green"/>\r
+ <xsd:enumeration value="Yellow"/>\r
+ <xsd:enumeration value="Blue"/>\r
+ <xsd:enumeration value="Magenta"/>\r
+ <xsd:enumeration value="Cyan"/>\r
+ <xsd:enumeration value="White"/>\r
+ <xsd:enumeration value="Transparent"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:complexType name="AutoroutePoint_t">\r
+ <xsd:sequence>\r
+ <xsd:element name="Subclass" type="Subclass_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="Latitude_t" use="required"/>\r
+ <xsd:attribute name="lon" type="Longitude_t" use="required"/>\r
+ </xsd:complexType>\r
+ \r
+ <xsd:simpleType name="Subclass_t">\r
+ <xsd:restriction base="xsd:hexBinary">\r
+ <xsd:length value="18"/>\r
+ </xsd:restriction> \r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Latitude_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ The latitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-90.0"/>\r
+ <xsd:maxInclusive value="90.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Longitude_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ The longitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-180.0"/>\r
+ <xsd:maxExclusive value="180.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+ \r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/GpxExtensions/v3"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/GpxExtensions/v3"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines the Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root elements defined by this schema are intended to be used as child\r
+ elements of the "extensions" elements in the GPX 1.1 schema. The GPX 1.1\r
+ schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="WaypointExtension" type="WaypointExtension_t" />\r
+\r
+ <xsd:element name="RouteExtension" type="RouteExtension_t" />\r
+ \r
+ <xsd:element name="RoutePointExtension" type="RoutePointExtension_t" />\r
+\r
+ <xsd:element name="TrackExtension" type="TrackExtension_t" />\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="WaypointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB waypoints that cannot\r
+ be represented in waypoints in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Proximity" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="Temperature" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="Depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="DisplayMode" type="DisplayMode_t" minOccurs="0" />\r
+ <xsd:element name="Categories" type="Categories_t" minOccurs="0" />\r
+ <xsd:element name="Address" type="Address_t" minOccurs="0"/>\r
+ <xsd:element name="PhoneNumber" type="PhoneNumber_t" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Categories_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a list of categories to which a waypoint has been assigned.\r
+ Note that this list may contain categories which do not exist for a particular\r
+ application installation.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Category" type="xsd:string" maxOccurs="unbounded" />\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Address_t">\r
+ <xsd:sequence>\r
+ <xsd:element name="StreetAddress" type="xsd:token" minOccurs="0" maxOccurs="2"/>\r
+ <xsd:element name="City" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="State" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="Country" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="PostalCode" type="xsd:token" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="PhoneNumber_t">\r
+ <xsd:simpleContent>\r
+ <xsd:extension base="xsd:token">\r
+ <xsd:attribute name="Category" type="xsd:token">\r
+ <xsd:annotation>\r
+ <xsd:documentation>Category provides the ability to specify the type of a \r
+ phone number. For example, a phone number can be categorized as\r
+ "Home", "Work", "Mobile" e.t.c</xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:extension>\r
+ </xsd:simpleContent>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="RouteExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB routes that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="IsAutoNamed" type="xsd:boolean" />\r
+ <xsd:element name="DisplayColor" type="DisplayColor_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="RoutePointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB routes that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Subclass" type="Subclass_t" minOccurs="0"/>\r
+ <xsd:element name="rpt" type="AutoroutePoint_t" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="TrackExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB tracks that cannot\r
+ be represented in routes in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="DisplayColor" type="DisplayColor_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields available in Garmin GDB track points that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Temperature" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="Depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DisplayMode_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a string that specifies how a waypoint should be\r
+ displayed on a map.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:token">\r
+ <xsd:enumeration value="SymbolOnly"/>\r
+ <xsd:enumeration value="SymbolAndName"/>\r
+ <xsd:enumeration value="SymbolAndDescription"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DisplayColor_t">\r
+ <xsd:restriction base="xsd:token">\r
+ <xsd:enumeration value="Black"/>\r
+ <xsd:enumeration value="DarkRed"/>\r
+ <xsd:enumeration value="DarkGreen"/>\r
+ <xsd:enumeration value="DarkYellow"/>\r
+ <xsd:enumeration value="DarkBlue"/>\r
+ <xsd:enumeration value="DarkMagenta"/>\r
+ <xsd:enumeration value="DarkCyan"/>\r
+ <xsd:enumeration value="LightGray"/>\r
+ <xsd:enumeration value="DarkGray"/>\r
+ <xsd:enumeration value="Red"/>\r
+ <xsd:enumeration value="Green"/>\r
+ <xsd:enumeration value="Yellow"/>\r
+ <xsd:enumeration value="Blue"/>\r
+ <xsd:enumeration value="Magenta"/>\r
+ <xsd:enumeration value="Cyan"/>\r
+ <xsd:enumeration value="White"/>\r
+ <xsd:enumeration value="Transparent"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:complexType name="AutoroutePoint_t">\r
+ <xsd:sequence>\r
+ <xsd:element name="Subclass" type="Subclass_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="Latitude_t" use="required"/>\r
+ <xsd:attribute name="lon" type="Longitude_t" use="required"/>\r
+ </xsd:complexType>\r
+ \r
+ <xsd:simpleType name="Subclass_t">\r
+ <xsd:restriction base="xsd:hexBinary">\r
+ <xsd:length value="18"/>\r
+ </xsd:restriction> \r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Latitude_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ The latitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-90.0"/>\r
+ <xsd:maxInclusive value="90.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Longitude_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ The longitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-180.0"/>\r
+ <xsd:maxExclusive value="180.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+ \r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root element defined by this schema is intended to be used as a child\r
+ element of the "extensions" elements in the trkpt element in the GPX 1.1 schema. \r
+ The GPX 1.1 schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ This is a replacement for TrackPointExtension in \r
+ http://www.garmin.com/xmlschemas/GpxExtensions/v3\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="atemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="wtemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="hr" type="BeatsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="cad" type="RevolutionsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="BeatsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a heart rate measured in beats per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:minInclusive value="1"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="RevolutionsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a cadence measured in revolutions per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:maxInclusive value="254"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root element defined by this schema is intended to be used as a child\r
+ element of the "extensions" elements in the trkpt element in the GPX 1.1 schema. \r
+ The GPX 1.1 schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ This is a replacement for TrackPointExtension in \r
+ http://www.garmin.com/xmlschemas/GpxExtensions/v3\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="atemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="wtemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="hr" type="BeatsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="cad" type="RevolutionsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="BeatsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a heart rate measured in beats per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:minInclusive value="1"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="RevolutionsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a cadence measured in revolutions per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:maxInclusive value="254"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root element defined by this schema is intended to be used as a child\r
+ element of the "extensions" elements in the trkpt element in the GPX 1.1 schema. \r
+ The GPX 1.1 schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ This is a replacement for TrackPointExtension in \r
+ http://www.garmin.com/xmlschemas/GpxExtensions/v3\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="atemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="wtemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="hr" type="BeatsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="cad" type="RevolutionsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="speed" type="MetersPerSecond_t" minOccurs="0"/>\r
+ <xsd:element name="course" type="DegreesTrue_t" minOccurs="0"/>\r
+ <xsd:element name="bearing" type="DegreesTrue_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="BeatsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a heart rate measured in beats per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:minInclusive value="1"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="RevolutionsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a cadence measured in revolutions per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:maxInclusive value="254"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="MetersPerSecond_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a speed measured in meters per second.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DegreesTrue_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains an angle measured in degrees in a clockwise direction from the true north line.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="0"/>\r
+ <xsd:maxInclusive value="360"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+ \r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"\r
+ elementFormDefault="qualified"\r
+ xmlns="http://www.garmin.com/xmlschemas/TrackPointExtension/v2"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation><xsd:documentation>\r
+ This schema defines Garmin extensions to be used with the GPX 1.1 schema.\r
+ The root element defined by this schema is intended to be used as a child\r
+ element of the "extensions" elements in the trkpt element in the GPX 1.1 schema. \r
+ The GPX 1.1 schema is available at http://www.topografix.com/GPX/1/1/gpx.xsd.\r
+ This is a replacement for TrackPointExtension in \r
+ http://www.garmin.com/xmlschemas/GpxExtensions/v3\r
+ </xsd:documentation></xsd:annotation>\r
+\r
+ <xsd:element name="TrackPointExtension" type="TrackPointExtension_t" />\r
+\r
+ <xsd:complexType name="TrackPointExtension_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains data fields that cannot\r
+ be represented in track points in GPX 1.1 instances.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="atemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="wtemp" type="DegreesCelsius_t" minOccurs="0" />\r
+ <xsd:element name="depth" type="Meters_t" minOccurs="0" />\r
+ <xsd:element name="hr" type="BeatsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="cad" type="RevolutionsPerMinute_t" minOccurs="0"/>\r
+ <xsd:element name="speed" type="MetersPerSecond_t" minOccurs="0"/>\r
+ <xsd:element name="course" type="DegreesTrue_t" minOccurs="0"/>\r
+ <xsd:element name="bearing" type="DegreesTrue_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="DegreesCelsius_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a temperature value measured in degrees Celsius.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="Meters_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a distance value measured in meters.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="BeatsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a heart rate measured in beats per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:minInclusive value="1"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="RevolutionsPerMinute_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a cadence measured in revolutions per minute.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:unsignedByte">\r
+ <xsd:maxInclusive value="254"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="MetersPerSecond_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains a speed measured in meters per second.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:double"/>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="DegreesTrue_t">\r
+ <xsd:annotation><xsd:documentation>\r
+ This type contains an angle measured in degrees in a clockwise direction from the true north line.\r
+ </xsd:documentation></xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="0"/>\r
+ <xsd:maxInclusive value="360"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+ \r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TripExtensions/v1"\r
+ elementFormDefault="qualified" xmlns="http://www.garmin.com/xmlschemas/TripExtensions/v1"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation>\r
+ <xsd:documentation> This schema defines the Garmin route extensions specific to trips to be used\r
+ with the GPX 1.1 schema. The root elements defined by this schema are intended to be used as\r
+ child elements of the rte element in the GPX 1.1 schema. The GPX 1.1 schema is available at\r
+ http://www.topografix.com/GPX/1/1/gpx.xsd. </xsd:documentation>\r
+ </xsd:annotation>\r
+\r
+ <xsd:element name="Trip" type="TripExtension_t"/>\r
+\r
+ <xsd:complexType name="TripExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> This type contains data fields intended to be used as child elements of\r
+ the rte element in the GPX 1.1 schema </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="TransportationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested transportation mode for this route. If the processor does\r
+ not know about the suggested transportation mode, a default will be chosen. Examples\r
+ include; Automotive, Motorcycling, Walking, Hiking, Mountaineering, Bicyling,\r
+ TourCycling, MountainBiking, ATV, DirtBiking, Truck, RV </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:element name="ViaPoint" type="ViaPointExtension_t"/>\r
+\r
+ <xsd:complexType name="ViaPointExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Route via points are announced stops during a route. This type contains\r
+ data fields intended to be used as child elements of the rtept element in the GPX 1.1 schema\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="DepartureTime" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Planned time to leave this route via, not valid for the last via in a\r
+ route. Date and time are in Univeral Coordinated Time (UTC), not local time. Conforms to\r
+ ISO 8601 specification for date/time representation. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="StopDuration" type="xsd:duration" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Time spent at this route via. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ArrivalTime" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Planned time to arrive at this route via, not valid for the first via\r
+ in a route. Date and time are in Univeral Coordinated Time (UTC), not local time.\r
+ Conforms to ISO 8601 specification for date/time representation. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="CalculationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested calculation mode between this route via and the next route\r
+ via. If the CalculationMode element is not present or if the processor does not\r
+ recognize the suggested calculation mode, the processor may use a calculation mode\r
+ specified on a previous via. If none have been previously specified, the processor may\r
+ chose a default. Examples include; FasterTime, ShorterDistance, Direct (Off Road),\r
+ LessFuel, ScenicRoads </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ElevationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested elevation mode between this route via and the next route\r
+ via. If the ElevationMode element is not present or if the processor does not recognize\r
+ the suggested elevation mode, the processor may use an elevation mode specified on a\r
+ previous via. If none have been previously specified, the processor may chose a default.\r
+ Examples include; Standard, MinimizeAscent </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="NamedRoad" type="NamedRoad_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="NamedRoad_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> A specific road or trail that the user selected to follow\r
+ between this route via and the next route via. If the NamedRoad element is not present\r
+ or if the processor does not recognize the suggested named road, the processor may use a\r
+ named road specified on a previous via. If none have been previously specified, the\r
+ processor may ignore this. </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Name" type="xsd:string">\r
+ <xsd:annotation>\r
+ <xsd:documentation> User friendly name of the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="Id" type="xsd:int">\r
+ <xsd:annotation>\r
+ <xsd:documentation> ID of the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ProductId" type="xsd:int">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Product and family ID of map product that contains the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element> \r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ \r
+ <xsd:element name="ShapingPoint" type="ShapingPointExtension_t"/>\r
+\r
+ <xsd:complexType name="ShapingPointExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Route shaping points influence the route path that is calculated, but are\r
+ not announced or listed in driving directions. This type contains data fields intended to be\r
+ used as child elements of the rtept element in the GPX 1.1 schema </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes\r
+ it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0"?>\r
+<xsd:schema targetNamespace="http://www.garmin.com/xmlschemas/TripExtensions/v1"\r
+ elementFormDefault="qualified" xmlns="http://www.garmin.com/xmlschemas/TripExtensions/v1"\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">\r
+\r
+ <xsd:annotation>\r
+ <xsd:documentation> This schema defines the Garmin route extensions specific to trips to be used\r
+ with the GPX 1.1 schema. The root elements defined by this schema are intended to be used as\r
+ child elements of the rte element in the GPX 1.1 schema. The GPX 1.1 schema is available at\r
+ http://www.topografix.com/GPX/1/1/gpx.xsd. </xsd:documentation>\r
+ </xsd:annotation>\r
+\r
+ <xsd:element name="Trip" type="TripExtension_t"/>\r
+\r
+ <xsd:complexType name="TripExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> This type contains data fields intended to be used as child elements of\r
+ the rte element in the GPX 1.1 schema </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="TransportationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested transportation mode for this route. If the processor does\r
+ not know about the suggested transportation mode, a default will be chosen. Examples\r
+ include; Automotive, Motorcycling, Walking, Hiking, Mountaineering, Bicyling,\r
+ TourCycling, MountainBiking, ATV, DirtBiking, Truck, RV </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:element name="ViaPoint" type="ViaPointExtension_t"/>\r
+\r
+ <xsd:complexType name="ViaPointExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Route via points are announced stops during a route. This type contains\r
+ data fields intended to be used as child elements of the rtept element in the GPX 1.1 schema\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="DepartureTime" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Planned time to leave this route via, not valid for the last via in a\r
+ route. Date and time are in Univeral Coordinated Time (UTC), not local time. Conforms to\r
+ ISO 8601 specification for date/time representation. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="StopDuration" type="xsd:duration" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Time spent at this route via. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ArrivalTime" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Planned time to arrive at this route via, not valid for the first via\r
+ in a route. Date and time are in Univeral Coordinated Time (UTC), not local time.\r
+ Conforms to ISO 8601 specification for date/time representation. </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="CalculationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested calculation mode between this route via and the next route\r
+ via. If the CalculationMode element is not present or if the processor does not\r
+ recognize the suggested calculation mode, the processor may use a calculation mode\r
+ specified on a previous via. If none have been previously specified, the processor may\r
+ chose a default. Examples include; FasterTime, ShorterDistance, Direct (Off Road),\r
+ LessFuel, ScenicRoads </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ElevationMode" type="xsd:token" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Suggested elevation mode between this route via and the next route\r
+ via. If the ElevationMode element is not present or if the processor does not recognize\r
+ the suggested elevation mode, the processor may use an elevation mode specified on a\r
+ previous via. If none have been previously specified, the processor may chose a default.\r
+ Examples include; Standard, MinimizeAscent </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="NamedRoad" type="NamedRoad_t" minOccurs="0"/>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="NamedRoad_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> A specific road or trail that the user selected to follow\r
+ between this route via and the next route via. If the NamedRoad element is not present\r
+ or if the processor does not recognize the suggested named road, the processor may use a\r
+ named road specified on a previous via. If none have been previously specified, the\r
+ processor may ignore this. </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Name" type="xsd:string">\r
+ <xsd:annotation>\r
+ <xsd:documentation> User friendly name of the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="Id" type="xsd:int">\r
+ <xsd:annotation>\r
+ <xsd:documentation> ID of the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ProductId" type="xsd:int">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Product and family ID of map product that contains the road or trail </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element> \r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ \r
+ <xsd:element name="ShapingPoint" type="ShapingPointExtension_t"/>\r
+\r
+ <xsd:complexType name="ShapingPointExtension_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation> Route shaping points influence the route path that is calculated, but are\r
+ not announced or listed in driving directions. This type contains data fields intended to be\r
+ used as child elements of the rtept element in the GPX 1.1 schema </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="Extensions" type="Extensions_t" minOccurs="0"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="Extensions_t">\r
+ <xsd:annotation>\r
+ <xsd:documentation>This type provides the ability to extend any data type that includes\r
+ it.</xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0" standalone="yes"?>
+<!-- cache.xsd version 1.0: Private GPX extensions used for Geocaching pages on Geocaching.com -->
+<xs:schema id="NewDataSet" targetNamespace="http://www.groundspeak.com/cache/1/0" xmlns:mstns="http://www.topografix.com/GPX/1/0" xmlns="http://www.groundspeak.com/cache/1/0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://www.groundspeak.com/cache/1/0">
+ <xs:element name="cache" msdata:Prefix="groundspeak">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ <!-- placed_by is a freeform field to describe the individuals who placed the cache -->
+ <xs:element name="placed_by" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
+ <xs:element name="owner" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="owner_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- Owner ID corresponds to an account on Geocaching.com. -->
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
+ <xs:element name="container" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
+ <!-- attributes like 'dog-friendly' or 'handicapped access' will be listed here. ID corresponds to an enum in the Geocaching.com database -->
+ <xs:element name="attributes" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="attribute" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="attribute_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Difficulty and terrain are on a 1 to 5 scale. 1 being easiest. Can be incremented by .5 -->
+ <xs:element name="difficulty" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="5" />
+ <xs:element name="terrain" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="6" />
+ <xs:element name="country" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="7" />
+ <xs:element name="state" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="8" />
+ <xs:element name="short_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="short_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="long_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="long_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- Encoded hints use Rot13 encryption on Geocaching.com but displayed in cleartext here -->
+ <!-- Text enclosed in brackets [] are not encrypted -->
+ <xs:element name="encoded_hints" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="9" />
+ <xs:element name="logs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="log" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="date" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
+ <xs:element name="finder" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="finder_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="text" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="text_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="encoded" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="log_wpt" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="lat" form="unqualified" type="xs:string" />
+ <xs:attribute name="lon" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Travel bugs indicate that they have been reported currently in a cache -->
+ <xs:element name="travelbugs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="travelbug" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ <xs:attribute name="ref" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ <xs:attribute name="available" form="unqualified" type="xs:string" />
+ <xs:attribute name="archived" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" standalone="yes"?>
+<!-- cache.xsd version 1.0: Private GPX extensions used for Geocaching pages on Geocaching.com -->
+<xs:schema id="NewDataSet" targetNamespace="http://www.groundspeak.com/cache/1/0/1" xmlns:mstns="http://www.topografix.com/GPX/1/0" xmlns="http://www.groundspeak.com/cache/1/0/1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://www.groundspeak.com/cache/1/0/1">
+ <xs:element name="cache" msdata:Prefix="groundspeak">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ <!-- placed_by is a freeform field to describe the individuals who placed the cache -->
+ <xs:element name="placed_by" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
+ <xs:element name="owner" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="owner_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- Owner ID corresponds to an account on Geocaching.com. -->
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
+ <xs:element name="container" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
+ <!-- attributes like 'dog-friendly' or 'handicapped access' will be listed here. ID corresponds to an enum in the Geocaching.com database -->
+ <xs:element name="attributes" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="attribute" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="attribute_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ <xs:attribute name="inc" form="unqualified" type="xs:byte" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Difficulty and terrain are on a 1 to 5 scale. 1 being easiest. Can be incremented by .5 -->
+ <xs:element name="difficulty" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="5" />
+ <xs:element name="terrain" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="6" />
+ <xs:element name="country" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="7" />
+ <xs:element name="state" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="8" />
+ <xs:element name="short_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="short_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="long_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="long_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- Encoded hints use Rot13 encryption on Geocaching.com but displayed in cleartext here -->
+ <!-- Text enclosed in brackets [] are not encrypted -->
+ <xs:element name="encoded_hints" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="9" />
+ <xs:element name="logs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="log" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="date" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
+ <xs:element name="finder" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="finder_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="text" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="text_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="encoded" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="log_wpt" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="lat" form="unqualified" type="xs:string" />
+ <xs:attribute name="lon" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Travel bugs indicate that they have been reported currently in a cache -->
+ <xs:element name="travelbugs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="travelbug" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ <xs:attribute name="ref" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:string" />
+ <xs:attribute name="available" form="unqualified" type="xs:string" />
+ <xs:attribute name="archived" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" standalone="yes" ?>
+<!-- cache.xsd version 1.1: Private GPX extensions used for Geocaching pages on Geocaching.com -->
+<!-- Changes to the cache.xsd -->
+<!-- Added GUID for transition to database redesign. Both GUID and ID are now optional -->
+<!-- Added lastUpdated and exported dates to each cache -->
+<xs:schema targetNamespace="http://www.groundspeak.com/cache/1/1" xmlns:mstns="http://www.topografix.com/GPX/1/0" xmlns="http://www.groundspeak.com/cache/1/1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://www.groundspeak.com/cache/1/1">
+ <xs:element name="cache" msdata:Prefix="groundspeak">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ <!-- lastUpdated is the last time the cache has been edited by the user -->
+ <xs:element name="lastUpdated" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" type="xs:dateTime" msdata:Ordinal="1" />
+ <!-- for the benefit of splitting out caches, exported has been added here -->
+ <xs:element name="exported" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" type="xs:dateTime" msdata:Ordinal="2" />
+ <!-- placed_by is a freeform field to describe the individuals who placed the cache -->
+ <xs:element name="placed_by" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="3" />
+ <xs:element name="owner" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="owner_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- Owner ID corresponds to an account on Geocaching.com. -->
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="guid" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="4" />
+ <xs:element name="container" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="5" />
+ <!-- attributes like 'dog-friendly' or 'handicapped access' will be listed here. ID corresponds to an enum in the Geocaching.com database -->
+ <xs:element name="attributes" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="attribute" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="attribute_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="inc" form="unqualified" type="xs:byte" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Difficulty and terrain are on a 1 to 5 scale. 1 being easiest. Can be incremented by .5 -->
+ <xs:element name="difficulty" msdata:Prefix="groundspeak" type="xs:double" minOccurs="0" msdata:Ordinal="6" />
+ <xs:element name="terrain" msdata:Prefix="groundspeak" type="xs:double" minOccurs="0" msdata:Ordinal="7" />
+ <xs:element name="country" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="8" />
+ <xs:element name="state" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="9" />
+ <xs:element name="short_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="short_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="long_description" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="long_description_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <!-- html is a boolean. If html=true the enclosed text contains html -->
+ <xs:attribute name="html" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <!-- Encoded hints use Rot13 encryption on Geocaching.com but displayed in cleartext here -->
+ <!-- Text enclosed in brackets [] are not encrypted -->
+ <xs:element name="encoded_hints" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="10" />
+ <xs:element name="logs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="log" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="date" msdata:Prefix="groundspeak" type="xs:dateTime" minOccurs="0" msdata:Ordinal="0" />
+ <xs:element name="type" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="1" />
+ <xs:element name="finder" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="finder_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="guid" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="text" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent msdata:ColumnName="text_Text" msdata:Ordinal="1">
+ <xs:extension base="xs:string">
+ <xs:attribute name="encoded" form="unqualified" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="log_wpt" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:attribute name="lat" form="unqualified" type="xs:decimal" />
+ <xs:attribute name="lon" form="unqualified" type="xs:decimal" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="guid" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Travel bugs indicate that they have been reported currently in a cache -->
+ <xs:element name="travelbugs" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="travelbug" msdata:Prefix="groundspeak" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" msdata:Prefix="groundspeak" type="xs:string" minOccurs="0" msdata:Ordinal="0" />
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="guid" form="unqualified" type="xs:string" />
+ <xs:attribute name="ref" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" form="unqualified" type="xs:long" />
+ <xs:attribute name="guid" form="unqualified" type="xs:string" />
+ <xs:attribute name="available" form="unqualified" type="xs:string" />
+ <xs:attribute name="archived" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <!-- simpleTypes used for the groundspeak:cache namespace -->
+ <xs:simpleType name="logType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Found it" />
+ <xs:enumeration value="Didn't find it" />
+ <xs:enumeration value="Other" />
+ <xs:enumeration value="Needs Archived" />
+ <xs:enumeration value="Unknown" />
+ <xs:enumeration value="Archive (show)" />
+ <xs:enumeration value="Archive (no show)" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" standalone="yes" ?>\r
+<!-- cache.xsd version 1.2: Private GPX extensions used for Garmin express -->\r
+<xs:schema targetNamespace="http://www.groundspeak.com/cache/1/2" xmlns:mstns="http://www.topografix.com/GPX/1/0" xmlns="http://www.groundspeak.com/cache/1/2" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://www.groundspeak.com/cache/1/2">\r
+ <xs:element name="cache">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="name" type="xs:string" minOccurs="0"/>\r
+ <!-- placed_by is a freeform field to describe the individuals who placed the cache -->\r
+ <xs:element name="placed_by" type="xs:string" minOccurs="0" />\r
+ <xs:element name="owner" nillable="true" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:string">\r
+ <!-- Owner ID corresponds to account on Geocaching.com. -->\r
+ <xs:attribute name="id" form="unqualified" type="xs:string" />\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/>\r
+ <xs:element name="container" type="xs:string" minOccurs="0" maxOccurs="1"/>\r
+ <!-- attributes like 'dog-friendly' or 'handicapped access' will be listed here. ID corresponds to an enum in the Geocaching.com database -->\r
+ <xs:element name="attributes" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="attribute" nillable="true" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:string">\r
+ <xs:attribute name="id" form="unqualified" type="xs:long" />\r
+ <xs:attribute name="inc" form="unqualified" type="xs:byte" />\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <!-- Difficulty and terrain are on a 1 to 5 scale. 1 being easiest. Can be incremented by .5 -->\r
+ <xs:element name="difficulty" type="xs:double" minOccurs="0" maxOccurs="1" />\r
+ <xs:element name="terrain" type="xs:double" minOccurs="0" maxOccurs="1" />\r
+ <xs:element name="country" type="xs:string" minOccurs="0" maxOccurs="1" />\r
+ <xs:element name="state" type="xs:string" minOccurs="0" maxOccurs="1" />\r
+ <xs:element name="short_description" type="xs:string" minOccurs="0" maxOccurs="1" />\r
+ <xs:element name="long_description" type="xs:string" minOccurs="0" maxOccurs="1" />\r
+ <!-- Encoded hints use Rot13 encryption on Geocaching.com but displayed in cleartext here -->\r
+ <!-- Text enclosed in brackets [] are not encrypted -->\r
+ <xs:element name="encoded_hints" type="xs:string" minOccurs="0" />\r
+ <xs:element name="logs" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="log" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="date" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>\r
+ <xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/>\r
+ <xs:element name="text" nillable="true" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:string">\r
+ <xs:attribute name="encoded" form="unqualified" type="xs:string" />\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="finder" nillable="true" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:string">\r
+ <xs:attribute name="id" form="unqualified" type="xs:string" />\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="log_wpt" minOccurs="0" maxOccurs="1">\r
+ <xs:complexType>\r
+ <xs:attribute name="lat" form="unqualified" type="xs:decimal" />\r
+ <xs:attribute name="lon" form="unqualified" type="xs:decimal" />\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ <xs:attribute name="id" form="unqualified" type="xs:long" />\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ <xs:attribute name="id" form="unqualified" type="xs:long" />\r
+ <xs:attribute name="available" form="unqualified" type="xs:string" />\r
+ <xs:attribute name="archived" form="unqualified" type="xs:string" />\r
+ </xs:complexType>\r
+ </xs:element>\r
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">\r
+\r
+<xsd:import namespace="http://www.topografix.com/GPX/1/0" schemaLocation="topografix/gpx10.xsd"/>\r
+<xsd:import namespace="http://www.topografix.com/GPX/1/1" schemaLocation="topografix/gpx11.xsd"/>\r
+<xsd:import namespace="http://www.garmin.com/xmlschemas/GpxExtensions/v3" schemaLocation="garmin/GpxExtensionsv3.xsd"/>\r
+<xsd:import namespace="http://www.garmin.com/xmlschemas/TripExtensions/v1" schemaLocation="garmin/TripExtensionsv1.xsd"/>\r
+<xsd:import namespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" schemaLocation="garmin/TrackPointExtensionv1.xsd"/>\r
+<xsd:import namespace="http://www.garmin.com/xmlschemas/TrackPointExtension/v2" schemaLocation="garmin/TrackPointExtensionv2.xsd"/>\r
+<xsd:import namespace="http://www.groundspeak.com/cache/1/0" schemaLocation="groundspeak/cache10.xsd"/>\r
+<xsd:import namespace="http://www.groundspeak.com/cache/1/0/1" schemaLocation="groundspeak/cache101.xsd"/>\r
+<xsd:import namespace="http://www.groundspeak.com/cache/1/1" schemaLocation="groundspeak/cache11.xsd"/>\r
+<xsd:import namespace="http://www.groundspeak.com/cache/1/2" schemaLocation="groundspeak/cache12.xsd"/>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- GPX.xsd version 1.0 - For more information on GPX and this schema, visit http://www.topografix.com/gpx.asp -->\r
+<xsd:schema\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ xmlns:gpx="http://www.topografix.com/GPX/1/0"\r
+ targetNamespace="http://www.topografix.com/GPX/1/0"\r
+ elementFormDefault="qualified">\r
+\r
+<!-- Main GPX definition -->\r
+\r
+ <xsd:element name="gpx">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/> <!-- GPX file name -->\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/> <!-- GPX file description -->\r
+ <xsd:element name="author" type="xsd:string" minOccurs="0"/> <!-- GPX file author -->\r
+ <xsd:element name="email" type="gpx:emailType" minOccurs="0"/> <!-- GPX file author email -->\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/> <!-- GPX file URL -->\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0"/> <!-- GPX file creation time -->\r
+ <xsd:element name="keywords" type="xsd:string" minOccurs="0"/> <!-- GPX file keywords -->\r
+ <xsd:element name="bounds" type="gpx:boundsType" minOccurs="0"/> <!-- GPX file bounding rect -->\r
+ <xsd:element name="wpt" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <!-- Position info -->\r
+ <xsd:element name="ele" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0"/>\r
+ <xsd:element name="magvar" type="gpx:degreesType" minOccurs="0"/>\r
+ <xsd:element name="geoidheight" type="xsd:decimal" minOccurs="0"/>\r
+\r
+ <!-- Description info -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/>\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="sym" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0"/>\r
+\r
+ <!-- Accuracy info -->\r
+ <xsd:element name="fix" type="gpx:fixType" minOccurs="0"/>\r
+ <xsd:element name="sat" type="xsd:nonNegativeInteger" minOccurs="0"/>\r
+ <xsd:element name="hdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="vdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="pdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="ageofdgpsdata" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="dgpsid" type="gpx:dgpsStationType" minOccurs="0"/>\r
+\r
+ <!-- you can add your own privately defined wpt elements at the end of the wpt -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="gpx:latitudeType" use="required"/>\r
+ <xsd:attribute name="lon" type="gpx:longitudeType" use="required"/>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="rte" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0"/> <!-- the source of this data: "Garmin eTrex", "Map", etc -->\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/>\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0"/> <!-- GPS track number -->\r
+ <!-- <xsd:element name="type" type="xsd:string" minOccurs="0"/> PROPOSED -->\r
+ <!-- you can add your own privately defined rte elements at the end of the rte -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="rtept" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+\r
+ <!-- Position info -->\r
+ <xsd:element name="ele" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0"/>\r
+ <xsd:element name="magvar" type="gpx:degreesType" minOccurs="0"/>\r
+ <xsd:element name="geoidheight" type="xsd:decimal" minOccurs="0"/>\r
+\r
+ <!-- Description info -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/>\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="sym" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0"/>\r
+\r
+ <!-- Accuracy info -->\r
+ <xsd:element name="fix" type="gpx:fixType" minOccurs="0"/>\r
+ <xsd:element name="sat" type="xsd:nonNegativeInteger" minOccurs="0"/>\r
+ <xsd:element name="hdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="vdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="pdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="ageofdgpsdata" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="dgpsid" type="gpx:dgpsStationType" minOccurs="0"/>\r
+\r
+ <!-- you can add your own privately defined rtept elements at the end of the rtept -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="gpx:latitudeType" use="required"/>\r
+ <xsd:attribute name="lon" type="gpx:longitudeType" use="required"/>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="trk" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0"/> <!-- the source of this data: "Garmin eTrex", "Map", etc -->\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/>\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0"/> <!-- GPS track number -->\r
+ <!-- <xsd:element name="type" type="xsd:string" minOccurs="0"/> PROPOSED -->\r
+ <!-- you can add your own privately defined trk elements at the end of the trk -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xsd:element name="trkseg" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="trkpt" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:complexType>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+\r
+ <!-- Position info -->\r
+ <xsd:element name="ele" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0"/>\r
+ <xsd:element name="course" type="gpx:degreesType" minOccurs="0"/>\r
+ <xsd:element name="speed" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="magvar" type="gpx:degreesType" minOccurs="0"/>\r
+ <xsd:element name="geoidheight" type="xsd:decimal" minOccurs="0"/>\r
+\r
+ <!-- Description info -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="url" type="xsd:anyURI" minOccurs="0"/>\r
+ <xsd:element name="urlname" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="sym" type="xsd:string" minOccurs="0"/>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0"/>\r
+\r
+ <!-- Accuracy info -->\r
+ <xsd:element name="fix" type="gpx:fixType" minOccurs="0"/>\r
+ <xsd:element name="sat" type="xsd:nonNegativeInteger" minOccurs="0"/>\r
+ <xsd:element name="hdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="vdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="pdop" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="ageofdgpsdata" type="xsd:decimal" minOccurs="0"/>\r
+ <xsd:element name="dgpsid" type="gpx:dgpsStationType" minOccurs="0"/>\r
+\r
+ <!-- you can add your own privately defined trkpt elements at the end of the trkpt -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="gpx:latitudeType" use="required"/>\r
+ <xsd:attribute name="lon" type="gpx:longitudeType" use="required"/>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <!-- you can add your own privately defined elements at the end of the GPX file -->\r
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="version" type="xsd:string" use="required" fixed="1.0"/> <!-- version 1.0 -->\r
+ <xsd:attribute name="creator" type="xsd:string" use="required"/>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+\r
+ <!-- Other types used by GPX -->\r
+\r
+ <xsd:simpleType name="latitudeType">\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-90.0"/>\r
+ <xsd:maxInclusive value="90.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="longitudeType">\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-180.0"/>\r
+ <xsd:maxInclusive value="180.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="degreesType"> <!-- for bearing, heading, course. Units are degrees, true -->\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="0.0"/>\r
+ <xsd:maxInclusive value="360.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="fixType">\r
+ <xsd:restriction base="xsd:string">\r
+ <xsd:enumeration value="none"/> <!-- none means GPS had no fix. To signify "the fix info is unknown, leave out the <fix> tag entirely --> \r
+ <xsd:enumeration value="2d"/>\r
+ <xsd:enumeration value="3d"/>\r
+ <xsd:enumeration value="dgps"/>\r
+ <xsd:enumeration value="pps"/> <!-- military signal used -->\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="dgpsStationType">\r
+ <xsd:restriction base="xsd:integer">\r
+ <xsd:minInclusive value="0"/>\r
+ <xsd:maxInclusive value="1023"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:complexType name="boundsType"> <!-- bounding rect for data in file -->\r
+ <xsd:attribute name="minlat" type="gpx:latitudeType" use="required"/>\r
+ <xsd:attribute name="minlon" type="gpx:longitudeType" use="required"/>\r
+ <xsd:attribute name="maxlat" type="gpx:latitudeType" use="required"/>\r
+ <xsd:attribute name="maxlon" type="gpx:longitudeType" use="required"/>\r
+ </xsd:complexType>\r
+\r
+ <xsd:simpleType name="emailType">\r
+ <xsd:restriction base="xsd:string">\r
+ <xsd:pattern value="[\p{L}_]+(\.[\p{L}_]+)*@[\p{L}_]+(\.[\p{L}_]+)+"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+</xsd:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<xsd:schema\r
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
+ xmlns="http://www.topografix.com/GPX/1/1"\r
+ targetNamespace="http://www.topografix.com/GPX/1/1"\r
+ elementFormDefault="qualified">\r
+\r
+<xsd:annotation>\r
+ <xsd:documentation>\r
+ GPX schema version 1.1 - For more information on GPX and this schema, visit http://www.topografix.com/gpx.asp\r
+\r
+ GPX uses the following conventions: all coordinates are relative to the WGS84 datum. All measurements are in metric units.\r
+ </xsd:documentation>\r
+</xsd:annotation>\r
+\r
+ <xsd:element name="gpx" type="gpxType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPX is the root element in the XML file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:complexType name="gpxType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPX documents contain a metadata header, followed by waypoints, routes, and tracks. You can add your own elements\r
+ to the extensions section of the GPX document.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="metadata" type="metadataType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Metadata about the file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="wpt" type="wptType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A list of waypoints.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="rte" type="rteType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A list of routes.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="trk" type="trkType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A list of tracks.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+\r
+ <xsd:attribute name="version" type="xsd:string" use="required" fixed="1.1">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You must include the version number in your GPX document.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="creator" type="xsd:string" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You must include the name or URL of the software that created your GPX document. This allows others to\r
+ inform the creator of a GPX instance document that fails to validate.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="metadataType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Information about the GPX file, author, and copyright restrictions goes in the metadata section. Providing rich,\r
+ meaningful information about your GPX files allows others to search for and use your GPS data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The name of the GPX file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A description of the contents of the GPX file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="author" type="personType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The person or organization who created the GPX file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="copyright" type="copyrightType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Copyright and license information governing use of the file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ URLs associated with the location described in the file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The creation date of the file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="keywords" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Keywords associated with the file. Search engines or databases can use this information to classify the data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="bounds" type="boundsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Minimum and maximum coordinates which describe the extent of the coordinates in the file.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="wptType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ wpt represents a waypoint, point of interest, or named feature on a map.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <!-- Position info -->\r
+ <xsd:element name="ele" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Elevation (in meters) of the point.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Creation/modification timestamp for element. Date and time in are in Univeral Coordinated Time (UTC), not local time! Conforms to ISO 8601 specification for date/time representation. Fractional seconds are allowed for millisecond timing in tracklogs. \r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="magvar" type="degreesType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Magnetic variation (in degrees) at the point\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="geoidheight" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Height (in meters) of geoid (mean sea level) above WGS84 earth ellipsoid. As defined in NMEA GGA message.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <!-- Description info -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The GPS name of the waypoint. This field will be transferred to and from the GPS. GPX does not place restrictions on the length of this field or the characters contained in it. It is up to the receiving application to validate the field before sending it to the GPS.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS waypoint comment. Sent to GPS as comment. \r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A text description of the element. Holds additional information about the element intended for the user, not the GPS.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Source of data. Included to give user some idea of reliability and accuracy of data. "Garmin eTrex", "USGS quad Boston North", e.g.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Link to additional information about the waypoint.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="sym" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Text of GPS symbol name. For interchange with other programs, use the exact spelling of the symbol as displayed on the GPS. If the GPS abbreviates words, spell them out.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Type (classification) of the waypoint.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <!-- Accuracy info -->\r
+ <xsd:element name="fix" type="fixType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Type of GPX fix.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="sat" type="xsd:nonNegativeInteger" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Number of satellites used to calculate the GPX fix.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="hdop" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Horizontal dilution of precision.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="vdop" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Vertical dilution of precision.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="pdop" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Position dilution of precision.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="ageofdgpsdata" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Number of seconds since last DGPS update.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="dgpsid" type="dgpsStationType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ ID of DGPS station used in differential correction.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+\r
+ <xsd:attribute name="lat" type="latitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The latitude of the point. This is always in decimal degrees, and always in WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="lon" type="longitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The longitude of the point. This is always in decimal degrees, and always in WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="rteType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ rte represents route - an ordered list of waypoints representing a series of turn points leading to a destination.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS name of route.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS comment for route.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Text description of route for user. Not sent to GPS.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Source of data. Included to give user some idea of reliability and accuracy of data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Links to external information about the route.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS route number.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Type (classification) of route.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ \r
+ <xsd:element name="rtept" type="wptType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A list of route points.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="trkType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ trk represents a track - an ordered list of points describing a path.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS name of track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="cmt" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS comment for track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="desc" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ User description of track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="src" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Source of data. Included to give user some idea of reliability and accuracy of data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Links to external information about track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="number" type="xsd:nonNegativeInteger" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ GPS track number.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Type (classification) of track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ \r
+ <xsd:element name="trkseg" type="trksegType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+ \r
+ <xsd:complexType name="extensionsType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence>\r
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:any>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="trksegType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="trkpt" type="wptType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A Track Point holds the coordinates, elevation, timestamp, and metadata for a single point in a track.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+\r
+ <xsd:element name="extensions" type="extensionsType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ You can add extend GPX by adding your own elements from another schema here.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="copyrightType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Information about the copyright holder and any license governing use of this file. By linking to an appropriate license,\r
+ you may place your data into the public domain or grant additional usage rights.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="year" type="xsd:gYear" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Year of copyright.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="license" type="xsd:anyURI" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Link to external file containing license text.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="author" type="xsd:string" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Copyright holder (TopoSoft, Inc.)\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="linkType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A link to an external resource (Web page, digital photo, video clip, etc) with additional information.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="text" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Text of hyperlink.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="type" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Mime type of content (image/jpeg)\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="href" type="xsd:anyURI" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ URL of hyperlink.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="emailType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ An email address. Broken into two parts (id and domain) to help prevent email harvesting.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:attribute name="id" type="xsd:string" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ id half of email address (billgates2004)\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="domain" type="xsd:string" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ domain half of email address (hotmail.com)\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="personType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A person or organization.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="name" type="xsd:string" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Name of person or organization.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="email" type="emailType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Email address.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="link" type="linkType" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Link to Web site or other external information about person.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="ptType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ A geographic point with optional elevation and time. Available for use by other schemas.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="ele" type="xsd:decimal" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The elevation (in meters) of the point.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ <xsd:element name="time" type="xsd:dateTime" minOccurs="0">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The time that the point was recorded.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ <xsd:attribute name="lat" type="latitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The latitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="lon" type="longitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The latitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="ptsegType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ An ordered sequence of points. (for polygons or polylines, e.g.)\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:sequence> <!-- elements must appear in this order -->\r
+ <xsd:element name="pt" type="ptType" minOccurs="0" maxOccurs="unbounded">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Ordered list of geographic points.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:element>\r
+ </xsd:sequence>\r
+ </xsd:complexType>\r
+\r
+ <xsd:complexType name="boundsType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Two lat/lon pairs defining the extent of an element.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:attribute name="minlat" type="latitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The minimum latitude.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="minlon" type="longitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The minimum longitude.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="maxlat" type="latitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The maximum latitude.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ <xsd:attribute name="maxlon" type="longitudeType" use="required">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The maximum longitude.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ </xsd:attribute>\r
+ </xsd:complexType>\r
+\r
+\r
+ <xsd:simpleType name="latitudeType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The latitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-90.0"/>\r
+ <xsd:maxInclusive value="90.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="longitudeType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ The longitude of the point. Decimal degrees, WGS84 datum.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="-180.0"/>\r
+ <xsd:maxExclusive value="180.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="degreesType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Used for bearing, heading, course. Units are decimal degrees, true (not magnetic).\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:restriction base="xsd:decimal">\r
+ <xsd:minInclusive value="0.0"/>\r
+ <xsd:maxExclusive value="360.0"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="fixType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Type of GPS fix. none means GPS had no fix. To signify "the fix info is unknown, leave out fixType entirely. pps = military signal used\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:restriction base="xsd:string">\r
+ <xsd:enumeration value="none"/>\r
+ <xsd:enumeration value="2d"/>\r
+ <xsd:enumeration value="3d"/>\r
+ <xsd:enumeration value="dgps"/>\r
+ <xsd:enumeration value="pps"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+ <xsd:simpleType name="dgpsStationType">\r
+ <xsd:annotation>\r
+ <xsd:documentation>\r
+ Represents a differential GPS station.\r
+ </xsd:documentation>\r
+ </xsd:annotation>\r
+ <xsd:restriction base="xsd:integer">\r
+ <xsd:minInclusive value="0"/>\r
+ <xsd:maxInclusive value="1023"/>\r
+ </xsd:restriction>\r
+ </xsd:simpleType>\r
+\r
+</xsd:schema>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ targetNamespace="http://www.w3.org/2005/Atom"
+ xmlns:atom="http://www.w3.org/2005/Atom" version="1.0.0">
+
+ <annotation>
+ <appinfo>atom-author-link.xsd 2008-01-23</appinfo>
+ <documentation>There is no official atom XSD. This XSD is created based on:
+ http://atompub.org/2005/08/17/atom.rnc. A subset of Atom as used in the
+ ogckml22.xsd is defined here. </documentation>
+ </annotation>
+
+ <!-- Person Construct -->
+ <complexType name="atomPersonConstruct">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="atom:name"/>
+ <element ref="atom:uri"/>
+ <element ref="atom:email"/>
+ </choice>
+ </complexType>
+
+ <element name="name" type="string"/>
+ <element name="uri" type="string"/>
+ <element name="email" type="atom:atomEmailAddress"/>
+
+ <!-- atom:author -->
+ <element name="author" type="atom:atomPersonConstruct"/>
+
+ <!-- atom:link -->
+ <element name="link">
+ <complexType>
+
+ <attribute name="href" use="required"/>
+ <attribute name="rel"/>
+ <attribute name="type" type="atom:atomMediaType"/>
+ <attribute name="hreflang" type="atom:atomLanguageTag"/>
+ <attribute name="title"/>
+ <attribute name="length"/>
+
+ </complexType>
+
+ </element>
+
+ <!-- Whatever a media type is, it contains at least one slash -->
+ <simpleType name="atomMediaType">
+ <restriction base="string">
+ <pattern value=".+/.+"/>
+ </restriction>
+ </simpleType>
+
+ <!-- As defined in RFC 3066 -->
+ <simpleType name="atomLanguageTag">
+ <restriction base="string">
+ <pattern value="[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*"/>
+ </restriction>
+ </simpleType>
+
+ <!-- Whatever an email address is, it contains at least one @ -->
+ <simpleType name="atomEmailAddress">
+ <restriction base="string">
+ <pattern value=".+@.+"/>
+ </restriction>
+ </simpleType>
+
+</schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2010. Google, Inc. All rights reserved. -->
+<!--
+
+ XSD of Google extensions to OGC KML 2.2.
+ NOTE: This BETA specification is subject to change without notice.
+
+ The URL to this schema is:
+ http://code.google.com/apis/kml/schema/kml22gx.xsd
+
+ Full documentation for these extensions is available at:
+ http://code.google.com/apis/kml/
+
+ The minimum required version of Google Earth to support all these extensions
+ is version 6.0 (Free, Pro, and Enterprise). Earlier versions of Google Earth
+ support a smaller set of extensions.
+
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:gx="http://www.google.com/kml/ext/2.2"
+ xmlns:kml="http://www.opengis.net/kml/2.2"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
+ targetNamespace="http://www.google.com/kml/ext/2.2"
+ elementFormDefault="qualified"
+ version="21092011BETA">
+
+ <!-- Import the language we are extending: OGC KML 2.2 -->
+ <import namespace="http://www.opengis.net/kml/2.2"
+ schemaLocation="ogckml22.xsd"/>
+
+ <!-- Simple types -->
+ <simpleType name="altitudeModeEnumType">
+ <restriction base="string">
+ <enumeration value="clampToSeaFloor"/>
+ <enumeration value="relativeToSeaFloor"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="flyToModeEnumType">
+ <restriction base="string">
+ <enumeration value="bounce"/>
+ <enumeration value="smooth"/>
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="outerWidthType">
+ <restriction base="float">
+ <minInclusive value="0.0"/>
+ <maxInclusive value="1.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="playModeEnumType">
+ <restriction base="string">
+ <enumeration value="pause"/>
+ </restriction>
+ </simpleType>
+
+ <!-- Simple elements -->
+
+ <!-- altitudeMode has no XSD default. OGC KML 2.2 altitudeModeGroup
+ is considered to have the same default as altitudeMode: clampToGround -->
+ <element name="AbstractTrackSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="altitudeMode" type="gx:altitudeModeEnumType"
+ substitutionGroup="kml:altitudeModeGroup"/>
+ <!--For XSD reasons, altitudeOffset is part of
+ kml:AbstractGeometrySimpleExtensionGroup but it is only supported in
+ kml:LinearRing and kml:LineString.-->
+ <element name="altitudeOffset" type="double"
+ substitutionGroup="kml:AbstractGeometrySimpleExtensionGroup"/>
+ <element name="angles" type="string"/>
+ <element name="balloonVisibility" type="boolean" default="true"
+ substitutionGroup="kml:AbstractFeatureSimpleExtensionGroup"/>
+ <element name="coord" type="string"/>
+ <element name="delayedStart" type="double" default="0.0"/>
+ <!-- As of Earth 6.0, drawOrder only works in LineString elements.-->
+ <element name="drawOrder" type="integer" default="0"
+ substitutionGroup="kml:AbstractGeometrySimpleExtensionGroup"/>
+ <element name="duration" type="double" default="0.0"/>
+ <element name="flyToMode" type="gx:flyToModeEnumType" default="bounce"/>
+ <!--horizFov in Google Earth only works in a range of 10-170 degress
+ in Google Earth 6.1-->
+ <element name="horizFov" type="kml:anglepos180Type"
+ substitutionGroup="kml:AbstractViewSimpleExtensionGroup" />
+ <element name="interpolate" type="boolean" default="false"/>
+ <!--Currently only works on LineStyle as applied to a LineString.
+ Does not work on LineStyle as applied to Polygons or extruded Points.-->
+ <element name="labelVisibility" type="boolean" default="0"
+ substitutionGroup="kml:AbstractColorStyleSimpleExtensionGroup" />
+ <element name="outerColor" type="kml:colorType" default="ffffffff"
+ substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
+ <element name="outerWidth" type="gx:outerWidthType" default="0.0"
+ substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
+ <element name="physicalWidth" type="float" default="0.0"
+ substitutionGroup="kml:LineStyleSimpleExtensionGroup"/>
+ <element name="playMode" type="gx:playModeEnumType" default="pause"/>
+ <element name="rank" type="double"
+ substitutionGroup="kml:AbstractFeatureSimpleExtensionGroup"
+ default="0.0"/>
+ <element name="value" type="string"/>
+
+ <element name="x" type="integer" default="0"
+ substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
+ <element name="y" type="integer" default="0"
+ substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
+ <element name="w" type="integer" default="-1"
+ substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
+ <element name="h" type="integer" default="-1"
+ substitutionGroup="kml:BasicLinkSimpleExtensionGroup"/>
+
+
+
+ <!-- Complex types and elements -->
+
+ <element name="AbstractTourPrimitiveGroup" type="gx:AbstractTourPrimitiveType"
+ abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
+ <element name="AbstractTourPrimitive" type="gx:AbstractTourPrimitiveType"/>
+ <complexType name="AbstractTourPrimitiveType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType"/>
+ </complexContent>
+ </complexType>
+
+ <element name="AnimatedUpdate" type="gx:AnimatedUpdateType"
+ substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
+ <complexType name="AnimatedUpdateType">
+ <complexContent>
+ <extension base="gx:AbstractTourPrimitiveType">
+ <sequence>
+ <element ref="gx:duration" minOccurs="0"/>
+ <element ref="kml:Update" minOccurs="0"/>
+ <element ref="gx:delayedStart" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="FlyTo" type="gx:FlyToType"
+ substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
+ <complexType name="FlyToType">
+ <complexContent>
+ <extension base="gx:AbstractTourPrimitiveType">
+ <sequence>
+ <element ref="gx:duration" minOccurs="0"/>
+ <element ref="gx:flyToMode" minOccurs="0"/>
+ <element ref="kml:AbstractViewGroup" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="Playlist" type="gx:PlaylistType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="PlaylistType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="gx:AbstractTourPrimitiveGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="SoundCue" type="gx:SoundCueType"
+ substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
+ <complexType name="SoundCueType">
+ <complexContent>
+ <extension base="gx:AbstractTourPrimitiveType">
+ <sequence>
+ <element ref="kml:href" minOccurs="0"/>
+ <element ref="gx:delayedStart" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="Tour" type="gx:TourType"
+ substitutionGroup="kml:AbstractFeatureGroup"/>
+ <complexType name="TourType">
+ <complexContent>
+ <extension base="kml:AbstractFeatureType">
+ <sequence>
+ <element ref="gx:Playlist" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <!-- Declare TimeStamp and TimeSpan elements in this extension namespace of
+ the same type as in OGC standard KML to add it to the substitution group. -->
+ <element name="TimeStamp" type="kml:TimeStampType"
+ substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
+ <element name="TimeSpan" type="kml:TimeSpanType"
+ substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
+
+ <element name="TourControl" type="gx:TourControlType"
+ substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
+ <complexType name="TourControlType">
+ <complexContent>
+ <extension base="gx:AbstractTourPrimitiveType">
+ <sequence>
+ <element ref="gx:playMode" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="Wait" type="gx:WaitType"
+ substitutionGroup="gx:AbstractTourPrimitiveGroup"/>
+ <complexType name="WaitType">
+ <complexContent>
+ <extension base="gx:AbstractTourPrimitiveType">
+ <sequence>
+ <element ref="gx:duration" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="LatLonQuad" type="gx:LatLonQuadType"
+ substitutionGroup="kml:GroundOverlayObjectExtensionGroup"/>
+ <complexType name="LatLonQuadType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:coordinates" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="Track" type="gx:TrackType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+
+ <complexType name="TrackType">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:extrude" minOccurs="0"/>
+ <element ref="kml:tessellate" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:when" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="gx:coord" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="gx:angles" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:Model" minOccurs="0"/>
+ <element ref="kml:ExtendedData" minOccurs="0"/>
+ <element ref="gx:AbstractTrackSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="MultiTrack" type="gx:MultiTrackType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+
+ <complexType name="MultiTrackType">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="gx:interpolate" minOccurs="0"/>
+ <element ref="gx:Track" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="SimpleArrayField" type="gx:SimpleArrayFieldType"
+ substitutionGroup="kml:SchemaExtension"/>
+
+ <complexType name="SimpleArrayFieldType">
+ <sequence>
+ <element ref="kml:displayName" minOccurs="0"/>
+ <element ref="gx:SimpleArrayFieldExtension" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="type" type="string"/>
+ <attribute name="name" type="string"/>
+ </complexType>
+ <element name="SimpleArrayFieldExtension" abstract="true"/>
+
+ <element name="SimpleArrayData" type="gx:SimpleArrayDataType"
+ substitutionGroup="kml:SchemaDataExtension"/>
+
+ <complexType name="SimpleArrayDataType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="gx:value" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="gx:SimpleArrayDataExtension" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="SimpleArrayDataExtension" abstract="true"/>
+
+ <element name="ViewerOptions" type="gx:ViewerOptionsType"
+ substitutionGroup="kml:AbstractViewObjectExtensionGroup"/>
+
+ <complexType name="ViewerOptionsType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="gx:option" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="option" type="gx:optionType"/>
+
+ <complexType name="optionType">
+ <!-- In Earth 6.0, the name attribute is restricted to Google Earth
+ specific items, streetview,historicalimagery,sunlight.
+ However, in a future version of this schema, we may remove this
+ restriction, so we are using a string instead of a enumeration. -->
+ <attribute name="name" type="string"/>
+ <attribute name="enabled" type="boolean"/>
+ </complexType>
+
+</schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:kml="http://www.opengis.net/kml/2.2"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
+ targetNamespace="http://www.opengis.net/kml/2.2"
+ elementFormDefault="qualified"
+ version="2.2.0">
+
+ <annotation>
+ <appinfo>ogckml22.xsd 2008-01-23</appinfo>
+ <documentation>XML Schema Document for OGC KML version 2.2. Copyright (c)
+ 2008 Open Geospatial Consortium.
+ </documentation>
+ </annotation>
+
+ <!-- import atom:author and atom:link -->
+ <import namespace="http://www.w3.org/2005/Atom"
+ schemaLocation="atom-author-link.xsd"/>
+
+ <!-- import xAL:Address -->
+ <import namespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
+ schemaLocation="xAL.xsd"/>
+
+ <!-- KML field types (simple content) -->
+
+ <simpleType name="anglepos90Type">
+ <restriction base="double">
+ <minInclusive value="0.0"/>
+ <maxInclusive value="90.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="angle90Type">
+ <restriction base="double">
+ <minInclusive value="-90"/>
+ <maxInclusive value="90.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="anglepos180Type">
+ <restriction base="double">
+ <minInclusive value="0.0"/>
+ <maxInclusive value="180.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="angle180Type">
+ <restriction base="double">
+ <minInclusive value="-180.0"/>
+ <maxInclusive value="180.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="angle360Type">
+ <restriction base="double">
+ <minInclusive value="-360.0"/>
+ <maxInclusive value="360.0"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="altitudeModeEnumType">
+ <restriction base="string">
+ <enumeration value="clampToGround"/>
+ <enumeration value="relativeToGround"/>
+ <enumeration value="absolute"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="colorType">
+ <annotation>
+ <documentation><![CDATA[
+
+ aabbggrr
+
+ ffffffff: opaque white
+ ff000000: opaque black
+
+ ]]></documentation>
+ </annotation>
+ <restriction base="hexBinary">
+ <length value="4"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="coordinatesType">
+ <list itemType="string"/>
+ </simpleType>
+
+ <simpleType name="colorModeEnumType">
+ <restriction base="string">
+ <enumeration value="normal"/>
+ <enumeration value="random"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="dateTimeType">
+ <union memberTypes="dateTime date gYearMonth gYear"/>
+ </simpleType>
+
+ <simpleType name="displayModeEnumType">
+ <restriction base="string">
+ <enumeration value="default"/>
+ <enumeration value="hide"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="gridOriginEnumType">
+ <restriction base="string">
+ <enumeration value="lowerLeft"/>
+ <enumeration value="upperLeft"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="itemIconStateType">
+ <list itemType="kml:itemIconStateEnumType"/>
+ </simpleType>
+
+ <simpleType name="itemIconStateEnumType">
+ <restriction base="string">
+ <enumeration value="open"/>
+ <enumeration value="closed"/>
+ <enumeration value="error"/>
+ <enumeration value="fetching0"/>
+ <enumeration value="fetching1"/>
+ <enumeration value="fetching2"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="listItemTypeEnumType">
+ <restriction base="string">
+ <enumeration value="radioFolder"/>
+ <enumeration value="check"/>
+ <enumeration value="checkHideChildren"/>
+ <enumeration value="checkOffOnly"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="refreshModeEnumType">
+ <restriction base="string">
+ <enumeration value="onChange"/>
+ <enumeration value="onInterval"/>
+ <enumeration value="onExpire"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="viewRefreshModeEnumType">
+ <restriction base="string">
+ <enumeration value="never"/>
+ <enumeration value="onRequest"/>
+ <enumeration value="onStop"/>
+ <enumeration value="onRegion"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="shapeEnumType">
+ <restriction base="string">
+ <enumeration value="rectangle"/>
+ <enumeration value="cylinder"/>
+ <enumeration value="sphere"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="styleStateEnumType">
+ <restriction base="string">
+ <enumeration value="normal"/>
+ <enumeration value="highlight"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="unitsEnumType">
+ <restriction base="string">
+ <enumeration value="fraction"/>
+ <enumeration value="pixels"/>
+ <enumeration value="insetPixels"/>
+ </restriction>
+ </simpleType>
+
+ <complexType name="vec2Type" abstract="false">
+ <attribute name="x" type="double" default="1.0"/>
+ <attribute name="y" type="double" default="1.0"/>
+ <attribute name="xunits" type="kml:unitsEnumType" use="optional"
+ default="fraction"/>
+ <attribute name="yunits" type="kml:unitsEnumType" use="optional"
+ default="fraction"/>
+ </complexType>
+
+ <element name="address" type="string"/>
+ <element name="altitude" type="double" default="0.0"/>
+ <element name="altitudeModeGroup" abstract="true"/>
+ <element name="altitudeMode" type="kml:altitudeModeEnumType"
+ default="clampToGround" substitutionGroup="kml:altitudeModeGroup"/>
+ <element name="begin" type="kml:dateTimeType"/>
+ <element name="bgColor" type="kml:colorType" default="ffffffff"/>
+ <element name="bottomFov" type="kml:angle90Type" default="0.0"/>
+ <element name="color" type="kml:colorType" default="ffffffff"/>
+ <element name="colorMode" type="kml:colorModeEnumType" default="normal"/>
+ <element name="cookie" type="string"/>
+ <element name="coordinates" type="kml:coordinatesType"/>
+ <element name="description" type="string"/>
+ <element name="displayName" type="string"/>
+ <element name="displayMode" type="kml:displayModeEnumType" default="default"/>
+ <element name="drawOrder" type="int" default="0"/>
+ <element name="east" type="kml:angle180Type" default="180.0"/>
+ <element name="end" type="kml:dateTimeType"/>
+ <element name="expires" type="kml:dateTimeType"/>
+ <element name="extrude" type="boolean" default="0"/>
+ <element name="fill" type="boolean" default="1"/>
+ <element name="flyToView" type="boolean" default="0"/>
+ <element name="gridOrigin" type="kml:gridOriginEnumType" default="lowerLeft"/>
+ <element name="heading" type="kml:angle360Type" default="0.0"/>
+ <element name="href" type="string">
+ <annotation>
+ <documentation>not anyURI due to $[x] substitution in
+ PhotoOverlay</documentation>
+ </annotation>
+ </element>
+ <element name="httpQuery" type="string"/>
+ <element name="hotSpot" type="kml:vec2Type"/>
+ <element name="key" type="kml:styleStateEnumType" default="normal"/>
+ <element name="latitude" type="kml:angle90Type" default="0.0"/>
+ <element name="leftFov" type="kml:angle180Type" default="0.0"/>
+ <element name="linkDescription" type="string"/>
+ <element name="linkName" type="string"/>
+ <element name="linkSnippet" type="kml:SnippetType"/>
+ <element name="listItemType" type="kml:listItemTypeEnumType" default="check"/>
+ <element name="longitude" type="kml:angle180Type" default="0.0"/>
+ <element name="maxSnippetLines" type="int" default="2"/>
+ <element name="maxSessionLength" type="double" default="-1.0"/>
+ <element name="message" type="string"/>
+ <element name="minAltitude" type="double" default="0.0"/>
+ <element name="minFadeExtent" type="double" default="0.0"/>
+ <element name="minLodPixels" type="double" default="0.0"/>
+ <element name="minRefreshPeriod" type="double" default="0.0"/>
+ <element name="maxAltitude" type="double" default="0.0"/>
+ <element name="maxFadeExtent" type="double" default="0.0"/>
+ <element name="maxLodPixels" type="double" default="-1.0"/>
+ <element name="maxHeight" type="int" default="0"/>
+ <element name="maxWidth" type="int" default="0"/>
+ <element name="name" type="string"/>
+ <element name="near" type="double" default="0.0"/>
+ <element name="north" type="kml:angle180Type" default="180.0"/>
+ <element name="open" type="boolean" default="0"/>
+ <element name="outline" type="boolean" default="1"/>
+ <element name="overlayXY" type="kml:vec2Type"/>
+ <element name="phoneNumber" type="string"/>
+ <element name="range" type="double" default="0.0"/>
+ <element name="refreshMode" type="kml:refreshModeEnumType"
+ default="onChange"/>
+ <element name="refreshInterval" type="double" default="4.0"/>
+ <element name="refreshVisibility" type="boolean" default="0"/>
+ <element name="rightFov" type="kml:angle180Type" default="0.0"/>
+ <element name="roll" type="kml:angle180Type" default="0.0"/>
+ <element name="rotation" type="kml:angle180Type" default="0.0"/>
+ <element name="rotationXY" type="kml:vec2Type"/>
+ <element name="scale" type="double" default="1.0"/>
+ <element name="screenXY" type="kml:vec2Type"/>
+ <element name="shape" type="kml:shapeEnumType" default="rectangle"/>
+ <element name="size" type="kml:vec2Type"/>
+ <element name="south" type="kml:angle180Type" default="-180.0"/>
+ <element name="sourceHref" type="anyURI"/>
+ <element name="snippet" type="string"/>
+ <element name="state" type="kml:itemIconStateType"/>
+ <element name="styleUrl" type="anyURI"/>
+ <element name="targetHref" type="anyURI"/>
+ <element name="tessellate" type="boolean" default="0"/>
+ <element name="text" type="string"/>
+ <element name="textColor" type="kml:colorType" default="ff000000"/>
+ <element name="tileSize" type="int" default="256"/>
+ <element name="tilt" type="kml:anglepos180Type" default="0.0"/>
+ <element name="topFov" type="kml:angle90Type" default="0.0"/>
+ <element name="value" type="string"/>
+ <element name="viewBoundScale" type="double" default="1.0"/>
+ <element name="viewFormat" type="string"/>
+ <element name="viewRefreshMode" type="kml:viewRefreshModeEnumType"
+ default="never"/>
+ <element name="viewRefreshTime" type="double" default="4.0"/>
+ <element name="visibility" type="boolean" default="1"/>
+ <element name="west" type="kml:angle180Type" default="-180.0"/>
+ <element name="when" type="kml:dateTimeType"/>
+ <element name="width" type="double" default="1.0"/>
+ <element name="x" type="double" default="1.0"/>
+ <element name="y" type="double" default="1.0"/>
+ <element name="z" type="double" default="1.0"/>
+
+ <element name="AbstractObjectGroup" type="kml:AbstractObjectType"
+ abstract="true"/>
+ <complexType name="AbstractObjectType" abstract="true">
+ <sequence>
+ <element ref="kml:ObjectSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attributeGroup ref="kml:idAttributes"/>
+ </complexType>
+ <element name="ObjectSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+
+ <attributeGroup name="idAttributes">
+ <attribute name="id" type="ID" use="optional"/>
+ <attribute name="targetId" type="NCName" use="optional"/>
+ </attributeGroup>
+
+ <element name="AbstractFeatureGroup" type="kml:AbstractFeatureType"
+ abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractFeatureType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:name" minOccurs="0"/>
+ <element ref="kml:visibility" minOccurs="0"/>
+ <element ref="kml:open" minOccurs="0"/>
+ <element ref="atom:author" minOccurs="0"/>
+ <element ref="atom:link" minOccurs="0"/>
+ <element ref="kml:address" minOccurs="0"/>
+ <element ref="xal:AddressDetails" minOccurs="0"/>
+ <element ref="kml:phoneNumber" minOccurs="0"/>
+ <choice>
+ <annotation>
+ <documentation>Snippet deprecated in 2.2</documentation>
+ </annotation>
+ <element ref="kml:Snippet" minOccurs="0"/>
+ <element ref="kml:snippet" minOccurs="0"/>
+ </choice>
+ <element ref="kml:description" minOccurs="0"/>
+ <element ref="kml:AbstractViewGroup" minOccurs="0"/>
+ <element ref="kml:AbstractTimePrimitiveGroup" minOccurs="0"/>
+ <element ref="kml:styleUrl" minOccurs="0"/>
+ <element ref="kml:AbstractStyleSelectorGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:Region" minOccurs="0"/>
+ <choice>
+ <annotation>
+ <documentation>Metadata deprecated in 2.2</documentation>
+ </annotation>
+ <element ref="kml:Metadata" minOccurs="0"/>
+ <element ref="kml:ExtendedData" minOccurs="0"/>
+ </choice>
+ <element ref="kml:AbstractFeatureSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AbstractFeatureObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractFeatureObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <element name="AbstractFeatureSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+
+ <element name="Snippet" type="kml:SnippetType"/>
+ <complexType name="SnippetType" final="#all">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="maxLines" type="int" use="optional" default="2"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="AbstractViewGroup" type="kml:AbstractViewType" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractViewType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:AbstractViewSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AbstractViewObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractViewSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractViewObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LookAt" type="kml:LookAtType"
+ substitutionGroup="kml:AbstractViewGroup"/>
+ <complexType name="LookAtType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractViewType">
+ <sequence>
+ <element ref="kml:longitude" minOccurs="0"/>
+ <element ref="kml:latitude" minOccurs="0"/>
+ <element ref="kml:altitude" minOccurs="0"/>
+ <element ref="kml:heading" minOccurs="0"/>
+ <element ref="kml:tilt" minOccurs="0"/>
+ <element ref="kml:range" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:LookAtSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LookAtObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LookAtSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LookAtObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Camera" type="kml:CameraType"
+ substitutionGroup="kml:AbstractViewGroup"/>
+ <complexType name="CameraType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractViewType">
+ <sequence>
+ <element ref="kml:longitude" minOccurs="0"/>
+ <element ref="kml:latitude" minOccurs="0"/>
+ <element ref="kml:altitude" minOccurs="0"/>
+ <element ref="kml:heading" minOccurs="0"/>
+ <element ref="kml:tilt" minOccurs="0"/>
+ <element ref="kml:roll" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:CameraSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:CameraObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="CameraSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="CameraObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Metadata" type="kml:MetadataType">
+ <annotation>
+ <documentation>Metadata deprecated in 2.2</documentation>
+ </annotation>
+ </element>
+
+ <complexType name="MetadataType" final="#all">
+ <annotation>
+ <documentation>MetadataType deprecated in 2.2</documentation>
+ </annotation>
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="ExtendedData" type="kml:ExtendedDataType"/>
+ <complexType name="ExtendedDataType" final="#all">
+ <sequence>
+ <element ref="kml:Data" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:SchemaData" minOccurs="0" maxOccurs="unbounded"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="SchemaData" type="kml:SchemaDataType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="SchemaDataType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:SimpleData" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:SchemaDataExtension" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="schemaUrl" type="anyURI"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SchemaDataExtension" abstract="true"/>
+
+ <element name="SimpleData" type="kml:SimpleDataType"/>
+ <complexType name="SimpleDataType" final="#all">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="name" type="string" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="Data" type="kml:DataType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="DataType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:displayName" minOccurs="0"/>
+ <element ref="kml:value"/>
+ <element ref="kml:DataExtension" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="DataExtension" abstract="true"/>
+
+ <element name="AbstractContainerGroup" type="kml:AbstractContainerType"
+ abstract="true" substitutionGroup="kml:AbstractFeatureGroup"/>
+ <complexType name="AbstractContainerType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractFeatureType">
+ <sequence>
+ <element ref="kml:AbstractContainerSimpleExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractContainerObjectExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractContainerSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractContainerObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractGeometryGroup" type="kml:AbstractGeometryType"
+ abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractGeometryType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:AbstractGeometrySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AbstractGeometryObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractGeometrySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractGeometryObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractOverlayGroup" type="kml:AbstractOverlayType"
+ abstract="true" substitutionGroup="kml:AbstractFeatureGroup"/>
+ <complexType name="AbstractOverlayType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractFeatureType">
+ <sequence>
+ <element ref="kml:color" minOccurs="0"/>
+ <element ref="kml:drawOrder" minOccurs="0"/>
+ <element ref="kml:Icon" minOccurs="0"/>
+ <element ref="kml:AbstractOverlaySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AbstractOverlayObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractOverlaySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractOverlayObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractStyleSelectorGroup"
+ type="kml:AbstractStyleSelectorType" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractStyleSelectorType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:AbstractStyleSelectorSimpleExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractStyleSelectorObjectExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractStyleSelectorSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractStyleSelectorObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractTimePrimitiveGroup"
+ type="kml:AbstractTimePrimitiveType" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractTimePrimitiveType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:AbstractTimePrimitiveSimpleExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractTimePrimitiveObjectExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractTimePrimitiveSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractTimePrimitiveObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="kml" type="kml:KmlType">
+ <annotation>
+ <documentation><![CDATA[
+
+ <kml> is the root element.
+
+ ]]></documentation>
+ </annotation>
+ </element>
+ <complexType name="KmlType" final="#all">
+ <sequence>
+ <element ref="kml:NetworkLinkControl" minOccurs="0"/>
+ <element ref="kml:AbstractFeatureGroup" minOccurs="0"/>
+ <element ref="kml:KmlSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:KmlObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="hint" type="string"/>
+ </complexType>
+ <element name="KmlSimpleExtensionGroup" abstract="true" type="anySimpleType"/>
+ <element name="KmlObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="NetworkLinkControl" type="kml:NetworkLinkControlType"/>
+ <complexType name="NetworkLinkControlType" final="#all">
+ <sequence>
+ <element ref="kml:minRefreshPeriod" minOccurs="0"/>
+ <element ref="kml:maxSessionLength" minOccurs="0"/>
+ <element ref="kml:cookie" minOccurs="0"/>
+ <element ref="kml:message" minOccurs="0"/>
+ <element ref="kml:linkName" minOccurs="0"/>
+ <element ref="kml:linkDescription" minOccurs="0"/>
+ <element ref="kml:linkSnippet" minOccurs="0"/>
+ <element ref="kml:expires" minOccurs="0"/>
+ <element ref="kml:Update" minOccurs="0"/>
+ <element ref="kml:AbstractViewGroup" minOccurs="0"/>
+ <element ref="kml:NetworkLinkControlSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:NetworkLinkControlObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="NetworkLinkControlSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="NetworkLinkControlObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Document" type="kml:DocumentType"
+ substitutionGroup="kml:AbstractContainerGroup"/>
+ <complexType name="DocumentType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractContainerType">
+ <sequence>
+ <element ref="kml:Schema" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractFeatureGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:DocumentSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:DocumentObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="DocumentSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="DocumentObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Schema" type="kml:SchemaType"/>
+ <complexType name="SchemaType" final="#all">
+ <sequence>
+ <element ref="kml:SimpleField" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:SchemaExtension" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="string"/>
+ <attribute name="id" type="ID"/>
+ </complexType>
+ <element name="SchemaExtension" abstract="true"/>
+
+ <element name="SimpleField" type="kml:SimpleFieldType"/>
+ <complexType name="SimpleFieldType" final="#all">
+ <sequence>
+ <element ref="kml:displayName" minOccurs="0"/>
+ <element ref="kml:SimpleFieldExtension" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="type" type="string"/>
+ <attribute name="name" type="string"/>
+ </complexType>
+ <element name="SimpleFieldExtension" abstract="true"/>
+
+ <element name="Folder" type="kml:FolderType"
+ substitutionGroup="kml:AbstractContainerGroup"/>
+ <complexType name="FolderType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractContainerType">
+ <sequence>
+ <element ref="kml:AbstractFeatureGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:FolderSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:FolderObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="FolderSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="FolderObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Placemark" type="kml:PlacemarkType"
+ substitutionGroup="kml:AbstractFeatureGroup"/>
+ <complexType name="PlacemarkType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractFeatureType">
+ <sequence>
+ <element ref="kml:AbstractGeometryGroup" minOccurs="0"/>
+ <element ref="kml:PlacemarkSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PlacemarkObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PlacemarkSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PlacemarkObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="NetworkLink" type="kml:NetworkLinkType"
+ substitutionGroup="kml:AbstractFeatureGroup"/>
+ <complexType name="NetworkLinkType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractFeatureType">
+ <sequence>
+ <element ref="kml:refreshVisibility" minOccurs="0"/>
+ <element ref="kml:flyToView" minOccurs="0"/>
+ <choice>
+ <annotation>
+ <documentation>Url deprecated in 2.2</documentation>
+ </annotation>
+ <element ref="kml:Url" minOccurs="0"/>
+ <element ref="kml:Link" minOccurs="0"/>
+ </choice>
+ <element ref="kml:NetworkLinkSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:NetworkLinkObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NetworkLinkSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="NetworkLinkObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Region" type="kml:RegionType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="RegionType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:LatLonAltBox" minOccurs="0"/>
+ <element ref="kml:Lod" minOccurs="0"/>
+ <element ref="kml:RegionSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:RegionObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="RegionSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="RegionObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LatLonAltBox" type="kml:LatLonAltBoxType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="LatLonAltBoxType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractLatLonBoxType">
+ <sequence>
+ <element ref="kml:minAltitude" minOccurs="0"/>
+ <element ref="kml:maxAltitude" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:LatLonAltBoxSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LatLonAltBoxObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LatLonAltBoxSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LatLonAltBoxObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Lod" type="kml:LodType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="LodType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:minLodPixels" minOccurs="0"/>
+ <element ref="kml:maxLodPixels" minOccurs="0"/>
+ <element ref="kml:minFadeExtent" minOccurs="0"/>
+ <element ref="kml:maxFadeExtent" minOccurs="0"/>
+ <element ref="kml:LodSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LodObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LodSimpleExtensionGroup" abstract="true" type="anySimpleType"/>
+ <element name="LodObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Icon" type="kml:LinkType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <element name="Link" type="kml:LinkType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <element name="Url" type="kml:LinkType"
+ substitutionGroup="kml:AbstractObjectGroup">
+ <annotation>
+ <documentation>Url deprecated in 2.2</documentation>
+ </annotation>
+ </element>
+ <complexType name="LinkType" final="#all">
+ <complexContent>
+ <extension base="kml:BasicLinkType">
+ <sequence>
+ <element ref="kml:refreshMode" minOccurs="0"/>
+ <element ref="kml:refreshInterval" minOccurs="0"/>
+ <element ref="kml:viewRefreshMode" minOccurs="0"/>
+ <element ref="kml:viewRefreshTime" minOccurs="0"/>
+ <element ref="kml:viewBoundScale" minOccurs="0"/>
+ <element ref="kml:viewFormat" minOccurs="0"/>
+ <element ref="kml:httpQuery" minOccurs="0"/>
+ <element ref="kml:LinkSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LinkObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LinkSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LinkObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="MultiGeometry" type="kml:MultiGeometryType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="MultiGeometryType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:AbstractGeometryGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:MultiGeometrySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:MultiGeometryObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="MultiGeometrySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="MultiGeometryObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Point" type="kml:PointType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="PointType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:extrude" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:coordinates" minOccurs="0"/>
+ <element ref="kml:PointSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PointObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PointSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PointObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LineString" type="kml:LineStringType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="LineStringType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:extrude" minOccurs="0"/>
+ <element ref="kml:tessellate" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:coordinates" minOccurs="0"/>
+ <element ref="kml:LineStringSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LineStringObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LineStringSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LineStringObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LinearRing" type="kml:LinearRingType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="LinearRingType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:extrude" minOccurs="0"/>
+ <element ref="kml:tessellate" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:coordinates" minOccurs="0"/>
+ <element ref="kml:LinearRingSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LinearRingObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LinearRingSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LinearRingObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Polygon" type="kml:PolygonType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="PolygonType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:extrude" minOccurs="0"/>
+ <element ref="kml:tessellate" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:outerBoundaryIs" minOccurs="0"/>
+ <element ref="kml:innerBoundaryIs" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PolygonSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PolygonObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PolygonSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PolygonObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="outerBoundaryIs" type="kml:BoundaryType"/>
+ <element name="innerBoundaryIs" type="kml:BoundaryType"/>
+ <complexType name="BoundaryType" final="#all">
+ <sequence>
+ <element ref="kml:LinearRing" minOccurs="0"/>
+ <element ref="kml:BoundarySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:BoundaryObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="BoundarySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="BoundaryObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Model" type="kml:ModelType"
+ substitutionGroup="kml:AbstractGeometryGroup"/>
+ <complexType name="ModelType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractGeometryType">
+ <sequence>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:Location" minOccurs="0"/>
+ <element ref="kml:Orientation" minOccurs="0"/>
+ <element ref="kml:Scale" minOccurs="0"/>
+ <element ref="kml:Link" minOccurs="0"/>
+ <element ref="kml:ResourceMap" minOccurs="0"/>
+ <element ref="kml:ModelSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ModelObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ModelSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ModelObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Location" type="kml:LocationType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="LocationType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:longitude" minOccurs="0"/>
+ <element ref="kml:latitude" minOccurs="0"/>
+ <element ref="kml:altitude" minOccurs="0"/>
+ <element ref="kml:LocationSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LocationObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LocationSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LocationObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Orientation" type="kml:OrientationType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="OrientationType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:heading" minOccurs="0"/>
+ <element ref="kml:tilt" minOccurs="0"/>
+ <element ref="kml:roll" minOccurs="0"/>
+ <element ref="kml:OrientationSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:OrientationObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="OrientationSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="OrientationObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Scale" type="kml:ScaleType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="ScaleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:x" minOccurs="0"/>
+ <element ref="kml:y" minOccurs="0"/>
+ <element ref="kml:z" minOccurs="0"/>
+ <element ref="kml:ScaleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ScaleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ScaleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ScaleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ResourceMap" type="kml:ResourceMapType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="ResourceMapType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:Alias" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:ResourceMapSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ResourceMapObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ResourceMapSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ResourceMapObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Alias" type="kml:AliasType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AliasType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:targetHref" minOccurs="0"/>
+ <element ref="kml:sourceHref" minOccurs="0"/>
+ <element ref="kml:AliasSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AliasObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AliasSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AliasObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="GroundOverlay" type="kml:GroundOverlayType"
+ substitutionGroup="kml:AbstractOverlayGroup"/>
+ <complexType name="GroundOverlayType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractOverlayType">
+ <sequence>
+ <element ref="kml:altitude" minOccurs="0"/>
+ <element ref="kml:altitudeModeGroup" minOccurs="0"/>
+ <element ref="kml:LatLonBox" minOccurs="0"/>
+ <element ref="kml:GroundOverlaySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:GroundOverlayObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="GroundOverlaySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="GroundOverlayObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <complexType name="AbstractLatLonBoxType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:north" minOccurs="0"/>
+ <element ref="kml:south" minOccurs="0"/>
+ <element ref="kml:east" minOccurs="0"/>
+ <element ref="kml:west" minOccurs="0"/>
+ <element ref="kml:AbstractLatLonBoxSimpleExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractLatLonBoxObjectExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractLatLonBoxSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractLatLonBoxObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LatLonBox" type="kml:LatLonBoxType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="LatLonBoxType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractLatLonBoxType">
+ <sequence>
+ <element ref="kml:rotation" minOccurs="0"/>
+ <element ref="kml:LatLonBoxSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LatLonBoxObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LatLonBoxSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LatLonBoxObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ScreenOverlay" type="kml:ScreenOverlayType"
+ substitutionGroup="kml:AbstractOverlayGroup"/>
+ <complexType name="ScreenOverlayType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractOverlayType">
+ <sequence>
+ <element ref="kml:overlayXY" minOccurs="0"/>
+ <element ref="kml:screenXY" minOccurs="0"/>
+ <element ref="kml:rotationXY" minOccurs="0"/>
+ <element ref="kml:size" minOccurs="0"/>
+ <element ref="kml:rotation" minOccurs="0"/>
+ <element ref="kml:ScreenOverlaySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ScreenOverlayObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ScreenOverlaySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ScreenOverlayObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="PhotoOverlay" type="kml:PhotoOverlayType"
+ substitutionGroup="kml:AbstractOverlayGroup"/>
+ <complexType name="PhotoOverlayType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractOverlayType">
+ <sequence>
+ <element ref="kml:rotation" minOccurs="0"/>
+ <element ref="kml:ViewVolume" minOccurs="0"/>
+ <element ref="kml:ImagePyramid" minOccurs="0"/>
+ <element ref="kml:Point" minOccurs="0"/>
+ <element ref="kml:shape" minOccurs="0"/>
+ <element ref="kml:PhotoOverlaySimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PhotoOverlayObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PhotoOverlaySimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PhotoOverlayObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ViewVolume" type="kml:ViewVolumeType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="ViewVolumeType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:leftFov" minOccurs="0"/>
+ <element ref="kml:rightFov" minOccurs="0"/>
+ <element ref="kml:bottomFov" minOccurs="0"/>
+ <element ref="kml:topFov" minOccurs="0"/>
+ <element ref="kml:near" minOccurs="0"/>
+ <element ref="kml:ViewVolumeSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ViewVolumeObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ViewVolumeSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ViewVolumeObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ImagePyramid" type="kml:ImagePyramidType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="ImagePyramidType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:tileSize" minOccurs="0"/>
+ <element ref="kml:maxWidth" minOccurs="0"/>
+ <element ref="kml:maxHeight" minOccurs="0"/>
+ <element ref="kml:gridOrigin" minOccurs="0"/>
+ <element ref="kml:ImagePyramidSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ImagePyramidObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ImagePyramidSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ImagePyramidObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Style" type="kml:StyleType"
+ substitutionGroup="kml:AbstractStyleSelectorGroup"/>
+ <complexType name="StyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractStyleSelectorType">
+ <sequence>
+ <element ref="kml:IconStyle" minOccurs="0"/>
+ <element ref="kml:LabelStyle" minOccurs="0"/>
+ <element ref="kml:LineStyle" minOccurs="0"/>
+ <element ref="kml:PolyStyle" minOccurs="0"/>
+ <element ref="kml:BalloonStyle" minOccurs="0"/>
+ <element ref="kml:ListStyle" minOccurs="0"/>
+ <element ref="kml:StyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:StyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="StyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="StyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="StyleMap" type="kml:StyleMapType"
+ substitutionGroup="kml:AbstractStyleSelectorGroup"/>
+ <complexType name="StyleMapType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractStyleSelectorType">
+ <sequence>
+ <element ref="kml:Pair" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:StyleMapSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:StyleMapObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="StyleMapSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="StyleMapObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Pair" type="kml:PairType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="PairType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:key" minOccurs="0"/>
+ <element ref="kml:styleUrl" minOccurs="0"/>
+ <element ref="kml:AbstractStyleSelectorGroup" minOccurs="0"/>
+ <element ref="kml:PairSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PairObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PairSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PairObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractSubStyleGroup" type="kml:AbstractSubStyleType"
+ abstract="true" substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="AbstractSubStyleType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:AbstractSubStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:AbstractSubStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractSubStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="AbstractSubStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="AbstractColorStyleGroup" type="kml:AbstractColorStyleType"
+ abstract="true" substitutionGroup="kml:AbstractSubStyleGroup"/>
+ <complexType name="AbstractColorStyleType" abstract="true">
+ <complexContent>
+ <extension base="kml:AbstractSubStyleType">
+ <sequence>
+ <element ref="kml:color" minOccurs="0"/>
+ <element ref="kml:colorMode" minOccurs="0"/>
+ <element ref="kml:AbstractColorStyleSimpleExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:AbstractColorStyleObjectExtensionGroup"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AbstractColorStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <element name="AbstractColorStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+
+ <element name="IconStyle" type="kml:IconStyleType"
+ substitutionGroup="kml:AbstractColorStyleGroup"/>
+ <complexType name="IconStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractColorStyleType">
+ <sequence>
+ <element ref="kml:scale" minOccurs="0"/>
+ <element ref="kml:heading" minOccurs="0"/>
+ <element name="Icon" type="kml:BasicLinkType" minOccurs="0"/>
+ <element ref="kml:hotSpot" minOccurs="0"/>
+ <element ref="kml:IconStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:IconStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="IconStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="IconStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <complexType name="BasicLinkType">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:href" minOccurs="0"/>
+ <element ref="kml:BasicLinkSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:BasicLinkObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="BasicLinkSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="BasicLinkObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LabelStyle" type="kml:LabelStyleType"
+ substitutionGroup="kml:AbstractColorStyleGroup"/>
+ <complexType name="LabelStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractColorStyleType">
+ <sequence>
+ <element ref="kml:scale" minOccurs="0"/>
+ <element ref="kml:LabelStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LabelStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LabelStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LabelStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="LineStyle" type="kml:LineStyleType"
+ substitutionGroup="kml:AbstractColorStyleGroup"/>
+ <complexType name="LineStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractColorStyleType">
+ <sequence>
+ <element ref="kml:width" minOccurs="0"/>
+ <element ref="kml:LineStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:LineStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="LineStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="LineStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="PolyStyle" type="kml:PolyStyleType"
+ substitutionGroup="kml:AbstractColorStyleGroup"/>
+ <complexType name="PolyStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractColorStyleType">
+ <sequence>
+ <element ref="kml:fill" minOccurs="0"/>
+ <element ref="kml:outline" minOccurs="0"/>
+ <element ref="kml:PolyStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:PolyStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="PolyStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="PolyStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="BalloonStyle" type="kml:BalloonStyleType"
+ substitutionGroup="kml:AbstractSubStyleGroup"/>
+ <complexType name="BalloonStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractSubStyleType">
+ <sequence>
+ <choice>
+ <annotation>
+ <documentation>color deprecated in 2.1</documentation>
+ </annotation>
+ <element ref="kml:color" minOccurs="0"/>
+ <element ref="kml:bgColor" minOccurs="0"/>
+ </choice>
+ <element ref="kml:textColor" minOccurs="0"/>
+ <element ref="kml:text" minOccurs="0"/>
+ <element ref="kml:displayMode" minOccurs="0"/>
+ <element ref="kml:BalloonStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:BalloonStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="BalloonStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="BalloonStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ListStyle" type="kml:ListStyleType"
+ substitutionGroup="kml:AbstractSubStyleGroup"/>
+ <complexType name="ListStyleType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractSubStyleType">
+ <sequence>
+ <element ref="kml:listItemType" minOccurs="0"/>
+ <element ref="kml:bgColor" minOccurs="0"/>
+ <element ref="kml:ItemIcon" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="kml:maxSnippetLines" minOccurs="0"/>
+ <element ref="kml:ListStyleSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ListStyleObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ListStyleSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ListStyleObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="ItemIcon" type="kml:ItemIconType"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+ <complexType name="ItemIconType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractObjectType">
+ <sequence>
+ <element ref="kml:state" minOccurs="0"/>
+ <element ref="kml:href" minOccurs="0"/>
+ <element ref="kml:ItemIconSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:ItemIconObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ItemIconSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="ItemIconObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="TimeStamp" type="kml:TimeStampType"
+ substitutionGroup="kml:AbstractTimePrimitiveGroup"/>
+ <complexType name="TimeStampType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractTimePrimitiveType">
+ <sequence>
+ <element ref="kml:when" minOccurs="0"/>
+ <element ref="kml:TimeStampSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:TimeStampObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="TimeStampSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="TimeStampObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="TimeSpan" type="kml:TimeSpanType"
+ substitutionGroup="kml:AbstractTimePrimitiveGroup"/>
+ <complexType name="TimeSpanType" final="#all">
+ <complexContent>
+ <extension base="kml:AbstractTimePrimitiveType">
+ <sequence>
+ <element ref="kml:begin" minOccurs="0"/>
+ <element ref="kml:end" minOccurs="0"/>
+ <element ref="kml:TimeSpanSimpleExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ <element ref="kml:TimeSpanObjectExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="TimeSpanSimpleExtensionGroup" abstract="true"
+ type="anySimpleType"/>
+ <element name="TimeSpanObjectExtensionGroup" abstract="true"
+ substitutionGroup="kml:AbstractObjectGroup"/>
+
+ <element name="Update" type="kml:UpdateType"/>
+ <complexType name="UpdateType" final="#all">
+ <sequence>
+ <element ref="kml:targetHref"/>
+ <choice maxOccurs="unbounded">
+ <element ref="kml:Create"/>
+ <element ref="kml:Delete"/>
+ <element ref="kml:Change"/>
+ <element ref="kml:UpdateOpExtensionGroup"/>
+ </choice>
+ <element ref="kml:UpdateExtensionGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="UpdateOpExtensionGroup" abstract="true"/>
+ <element name="UpdateExtensionGroup" abstract="true"/>
+
+ <element name="Create" type="kml:CreateType"/>
+ <complexType name="CreateType">
+ <sequence>
+ <element ref="kml:AbstractContainerGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="Delete" type="kml:DeleteType"/>
+ <complexType name="DeleteType">
+ <sequence>
+ <element ref="kml:AbstractFeatureGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="Change" type="kml:ChangeType"/>
+ <complexType name="ChangeType">
+ <sequence>
+ <element ref="kml:AbstractObjectGroup" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+</schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--Modified by Ram Kumar (MSI) on 24 July 2002-->\r
+<xs:schema targetNamespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" elementFormDefault="qualified">\r
+ <xs:annotation>\r
+ <xs:documentation>xAL: eXtensible Address Language \r
+This is an XML document type definition (DTD) for\r
+defining addresses.\r
+Original Date of Creation: 1 March 2001\r
+Copyright(c) 2000, OASIS. All Rights Reserved [http://www.oasis-open.org]\r
+Contact: Customer Information Quality Technical Committee, OASIS\r
+http://www.oasis-open.org/committees/ciq\r
+VERSION: 2.0 [MAJOR RELEASE] Date of Creation: 01 May 2002\r
+Last Update: 24 July 2002\r
+Previous Version: 1.3</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:annotation>\r
+ <xs:documentation>Common Attributes:Type - If not documented then it means, possible values of Type not limited to: Official, Unique, Abbreviation, OldName, Synonym\r
+Code:Address element codes are used by groups like postal groups like ECCMA, ADIS, UN/PROLIST for postal services</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:attributeGroup name="grPostal">\r
+ <xs:attribute name="Code">\r
+ <xs:annotation>\r
+ <xs:documentation>Used by postal services to encode the name of the element.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ </xs:attributeGroup>\r
+ <xs:element name="xAL">\r
+ <xs:annotation>\r
+ <xs:documentation>Root element for a list of addresses</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressDetails" maxOccurs="unbounded"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Version">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to DTD to specify the version number of DTD</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressDetails" type="AddressDetails">\r
+ <xs:annotation>\r
+ <xs:documentation>This container defines the details of the address. Can define multiple addresses including tracking address history</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:complexType name="AddressDetails">\r
+ <xs:sequence>\r
+ <xs:element name="PostalServiceElements" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal authorities use specific postal service data to expedient delivery of mail</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="AddressIdentifier" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>A unique identifier of an address assigned by postal authorities. Example: DPID in Australia</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="IdentifierType">\r
+ <xs:annotation>\r
+ <xs:documentation>Type of identifier. eg. DPID as in Australia</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="EndorsementLineCode" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Directly affects postal service distribution</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="KeyLineCode" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Required for some postal services</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Barcode" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Required for some postal services</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SortingCode" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Used for sorting addresses. Values may for example be CEDEX 16 (France)</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressLatitude" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Latitude of delivery address</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressLatitudeDirection" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Latitude direction of delivery address;N = North and S = South</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressLongitude" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Longtitude of delivery address</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressLongitudeDirection" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Longtitude direction of delivery address;N=North and S=South</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SupplementaryPostalServiceData" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>any postal service elements not covered by the container can be represented using this element</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Specific to postal service</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>USPS, ECMA, UN/PROLIST, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Use the most suitable option. Country contains the most detailed information while Locality is missing Country and AdminArea</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:element name="Address">\r
+ <xs:annotation>\r
+ <xs:documentation>Address as one line of free text</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal, residential, corporate, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AddressLines" type="AddressLinesType">\r
+ <xs:annotation>\r
+ <xs:documentation>Container for Address lines</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="Country">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a country</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="CountryNameCode" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>A country code according to the specified scheme</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Scheme">\r
+ <xs:annotation>\r
+ <xs:documentation>Country code scheme possible values, but not limited to: iso.3166-2, iso.3166-3 for two and three character country codes.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element ref="CountryName" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element ref="AdministrativeArea"/>\r
+ <xs:element ref="Locality"/>\r
+ <xs:element ref="Thoroughfare"/>\r
+ </xs:choice>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element ref="AdministrativeArea"/>\r
+ <xs:element ref="Locality"/>\r
+ <xs:element ref="Thoroughfare"/>\r
+ </xs:choice>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="AddressType">\r
+ <xs:annotation>\r
+ <xs:documentation>Type of address. Example: Postal, residential,business, primary, secondary, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="CurrentStatus">\r
+ <xs:annotation>\r
+ <xs:documentation>Moved, Living, Investment, Deceased, etc..</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="ValidFromDate">\r
+ <xs:annotation>\r
+ <xs:documentation>Start Date of the validity of address</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="ValidToDate">\r
+ <xs:annotation>\r
+ <xs:documentation>End date of the validity of address</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Usage">\r
+ <xs:annotation>\r
+ <xs:documentation>Communication, Contact, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:attribute name="AddressDetailsKey">\r
+ <xs:annotation>\r
+ <xs:documentation>Key identifier for the element for not reinforced references from other elements. Not required to be unique for the document to be valid, but application may get confused if not unique. Extend this schema adding unique contraint if needed.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="AddressLinesType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" maxOccurs="unbounded"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="BuildingNameType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="TypeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>Occurrence of the building name before/after the type. eg. EGIS BUILDING where name appears before type</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="DependentLocalityType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="DependentLocalityName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the dependent locality</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="DependentLocalityNumber" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Number of the dependent locality. Some areas are numbered. Eg. SECTOR 5 in a Suburb as in India or SOI SUKUMVIT 10 as in Thailand</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NameNumberOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>Eg. SECTOR occurs before 5 in SECTOR 5</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element ref="PostBox"/>\r
+ <xs:element name="LargeMailUser" type="LargeMailUserType">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostOffice"/>\r
+ <xs:element name="PostalRoute" type="PostalRouteType">\r
+ <xs:annotation>\r
+ <xs:documentation> A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element ref="Thoroughfare" minOccurs="0"/>\r
+ <xs:element ref="Premise" minOccurs="0"/>\r
+ <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
+divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>City or IndustrialEstate, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="UsageType">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Connector">\r
+ <xs:annotation>\r
+ <xs:documentation>"VIA" as in Hill Top VIA Parish where Parish is a locality and Hill Top is a dependent locality</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Eg. Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="FirmType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="FirmName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the firm</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element ref="Department" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="LargeMailUserType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="LargeMailUserName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the large mail user. eg. Smith Ford International airport</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type" type="xs:string">\r
+ <xs:annotation>\r
+ <xs:documentation>Airport, Hospital, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Code" type="xs:string"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="LargeMailUserIdentifier" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the identification number of a large mail user. An example are the Cedex codes in France.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type" type="xs:string">\r
+ <xs:annotation>\r
+ <xs:documentation>CEDEX Code</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>eg. Building 429 in which Building is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the building</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="Department" minOccurs="0"/>\r
+ <xs:element ref="PostBox" minOccurs="0"/>\r
+ <xs:element ref="Thoroughfare" minOccurs="0"/>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type" type="xs:string"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="MailStopType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="MailStopName" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the the Mail Stop. eg. MSP, MS, etc</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="MailStopNumber" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Number of the Mail stop. eg. 123 in MS 123</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NameNumberSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>"-" in MS-123</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="PostalRouteType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:choice>\r
+ <xs:element name="PostalRouteName" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Name of the Postal Route</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostalRouteNumber">\r
+ <xs:annotation>\r
+ <xs:documentation> Number of the Postal Route</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element ref="PostBox" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="SubPremiseType">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="SubPremiseName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Name of the SubPremise</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="TypeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>EGIS Building where EGIS occurs before Building</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element name="SubPremiseLocation">\r
+ <xs:annotation>\r
+ <xs:documentation> Name of the SubPremise Location. eg. LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SubPremiseNumber" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Specification of the identifier of a sub-premise. Examples of sub-premises are apartments and suites. sub-premises in a building are often uniquely identified by means of consecutive\r
+identifiers. The identifier can be a number, a letter or any combination of the two. In the latter case, the identifier includes exactly one variable (range) part, which is either a \r
+number or a single letter that is surrounded by fixed parts at the left (prefix) or the right (postfix).</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>"TH" in 12TH which is a floor number, "NO." in NO.1, "#" in APT #12, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="IndicatorOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>"No." occurs before 1 in No.1, or TH occurs after 12 in 12TH</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberTypeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>12TH occurs "before" FLOOR (a type of subpremise) in 12TH FLOOR</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="PremiseNumberSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>"/" in 12/14 Archer Street where 12 is sub-premise number and 14 is premise number</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element name="SubPremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Prefix of the sub premise number. eg. A in A-12</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberPrefixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SubPremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Suffix of the sub premise number. eg. A in 12A</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberSuffixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the building</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="Firm" type="FirmType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. \r
+Each sub-premise should be uniquely identifiable. SubPremiseType: Specification of the name of a sub-premise type. Possible values not limited to: Suite, Appartment, Floor, Unknown\r
+Multiple levels within a premise by recursively calling SubPremise Eg. Level 4, Suite 2, Block C</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="ThoroughfareLeadingTypeType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="ThoroughfareNameType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="ThoroughfarePostDirectionType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="ThoroughfarePreDirectionType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:complexType name="ThoroughfareTrailingTypeType" mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ <xs:element name="AddressLine">\r
+ <xs:annotation>\r
+ <xs:documentation>Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Defines the type of address line. eg. Street, Address Line 1, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Locality">\r
+ <xs:annotation>\r
+ <xs:documentation>Locality is one level lower than adminisstrative area. Eg.: cities, reservations and any other built-up areas.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="LocalityName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the locality</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element ref="PostBox"/>\r
+ <xs:element name="LargeMailUser" type="LargeMailUserType">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a large mail user address. Examples of large mail users are postal companies, companies in France with a cedex number, hospitals and airports with their own post code. Large mail user addresses do not have a street name with premise name or premise number in countries like Netherlands. But they have a POBox and street also in countries like France</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostOffice"/>\r
+ <xs:element name="PostalRoute" type="PostalRouteType">\r
+ <xs:annotation>\r
+ <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element ref="Thoroughfare" minOccurs="0"/>\r
+ <xs:element ref="Premise" minOccurs="0"/>\r
+ <xs:element name="DependentLocality" type="DependentLocalityType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
+divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Possible values not limited to: City, IndustrialEstate, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="UsageType">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Thoroughfare">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a thoroughfare. A thoroughfare could be a rd, street, canal, river, etc. Note dependentlocality in a street. For example, in some countries, a large street will \r
+have many subdivisions with numbers. Normally the subdivision name is the same as the road name, but with a number to identifiy it. Eg. SOI SUKUMVIT 3, SUKUMVIT RD, BANGKOK</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+ <xs:element ref="ThoroughfareNumber"/>\r
+ <xs:element name="ThoroughfareNumberRange">\r
+ <xs:annotation>\r
+ <xs:documentation>A container to represent a range of numbers (from x thru y)for a thoroughfare. eg. 1-2 Albert Av</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="ThoroughfareNumberFrom">\r
+ <xs:annotation>\r
+ <xs:documentation>Starting number in the range</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareNumberTo">\r
+ <xs:annotation>\r
+ <xs:documentation>Ending number in the range</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumber" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ <xs:attribute name="RangeType">\r
+ <xs:annotation>\r
+ <xs:documentation>Thoroughfare number ranges are odd or even</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Odd"/>\r
+ <xs:enumeration value="Even"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>"No." No.12-13</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Separator">\r
+ <xs:annotation>\r
+ <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="IndicatorOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberRangeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>23-25 Archer St, where number appears before name</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="BeforeName"/>\r
+ <xs:enumeration value="AfterName"/>\r
+ <xs:enumeration value="BeforeType"/>\r
+ <xs:enumeration value="AfterType"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element ref="ThoroughfareNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="ThoroughfareNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="DependentThoroughfare" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>DependentThroughfare is related to a street; occurs in GB, IE, ES, PT</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="ThoroughfarePreDirection" type="ThoroughfarePreDirectionType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>North Baker Street, where North is the pre-direction. The direction appears before the name.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareLeadingType" type="ThoroughfareLeadingTypeType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Appears before the thoroughfare name. Ed. Spanish: Avenida Aurora, where Avenida is the leading type / French: Rue Moliere, where Rue is the leading type.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareName" type="ThoroughfareNameType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of a Thoroughfare (also dependant street name): street name, canal name, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareTrailingType" type="ThoroughfareTrailingTypeType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Appears after the thoroughfare name. Ed. British: Baker Lane, where Lane is the trailing type.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfarePostDirection" type="ThoroughfarePostDirectionType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>221-bis Baker Street North, where North is the post-direction. The post-direction appears after the name.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element name="DependentLocality" type="DependentLocalityType">\r
+ <xs:annotation>\r
+ <xs:documentation>Dependent localities are Districts within cities/towns, locality divisions, postal \r
+divisions of cities, suburbs, etc. DependentLocality is a recursive element, but no nesting deeper than two exists (Locality-DependentLocality-DependentLocality).</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="Premise"/>\r
+ <xs:element name="Firm" type="FirmType">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from \r
+a large mail user address, which contains no street.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode"/>\r
+ </xs:choice>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="DependentThoroughfares">\r
+ <xs:annotation>\r
+ <xs:documentation>Does this thoroughfare have a a dependent thoroughfare? Corner of street X, etc</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Yes"/>\r
+ <xs:enumeration value="No"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="DependentThoroughfaresIndicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Corner of, Intersection of</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="DependentThoroughfaresConnector">\r
+ <xs:annotation>\r
+ <xs:documentation>Corner of Street1 AND Street 2 where AND is the Connector</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="DependentThoroughfaresType">\r
+ <xs:annotation>\r
+ <xs:documentation>STS in GEORGE and ADELAIDE STS, RDS IN A and B RDS, etc. Use only when both the street types are the same</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="AdministrativeArea">\r
+ <xs:annotation>\r
+ <xs:documentation>Examples of administrative areas are provinces counties, special regions (such as "Rijnmond"), etc.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="AdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Name of the administrative area. eg. MI in USA, NSW in Australia</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="SubAdministrativeArea" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation> Specification of a sub-administrative area. An example of a sub-administrative areas is a county. There are two places where the name of an administrative \r
+area can be specified and in this case, one becomes sub-administrative area.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="SubAdministrativeAreaName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation> Name of the sub-administrative area</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element ref="Locality"/>\r
+ <xs:element ref="PostOffice"/>\r
+ <xs:element ref="PostalCode"/>\r
+ </xs:choice>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="UsageType">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element ref="Locality"/>\r
+ <xs:element ref="PostOffice"/>\r
+ <xs:element ref="PostalCode"/>\r
+ </xs:choice>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Province or State or County or Kanton, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="UsageType">\r
+ <xs:annotation>\r
+ <xs:documentation>Postal or Political - Sometimes locations must be distinguished between postal system, and physical locations as defined by a political system</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Erode (Dist) where (Dist) is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostOffice">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a post office. Examples are a rural post office where post is delivered and a post office containing post office boxes.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:choice>\r
+ <xs:element name="PostOfficeName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of the post office. This can be a rural postoffice where post is delivered or a post office containing post office boxes.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostOfficeNumber" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the number of the postoffice. Common in rural postoffices</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>MS in MS 62, # in MS # 12, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="IndicatorOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>MS occurs before 62 in MS 62</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element name="PostalRoute" type="PostalRouteType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A Postal van is specific for a route as in Is`rael, Rural route</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostBox" minOccurs="0"/>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Could be a Mobile Postoffice Van as in Isreal</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>eg. Kottivakkam (P.O) here (P.O) is the Indicator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostalCode">\r
+ <xs:annotation>\r
+ <xs:documentation>PostalCode is the container element for either simple or complex (extended) postal codes. Type: Area Code, Postcode, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="PostalCodeNumber" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a postcode. The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Old Postal Code, new code, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostalCodeNumberExtension" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Examples are: 1234 (USA), 1G (UK), etc.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Delivery Point Suffix, New Postal Code, etc..</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberExtensionSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>The separator between postal code number and the extension. Eg. "-"</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostTown" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A post town is not the same as a locality. A post town can encompass a collection of (small) localities. It can also be a subpart of a locality. An actual post town in Norway is "Bergen".</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="PostTownName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Name of the post town</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostTownSuffix" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>GENERAL PO in MIAMI GENERAL PO</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>eg. village, town, suburb, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Area Code, Postcode, Delivery code as in NZ, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostBox">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a postbox like mail delivery point. Only a single postbox number can be specified. Examples of postboxes are POBox, free mail numbers, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="PostBoxNumber">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the number of a postbox</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostBoxNumberPrefix" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the prefix of the post box number. eg. A in POBox:A-123</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberPrefixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostBoxNumberSuffix" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the suffix of the post box number. eg. A in POBox:123A</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberSuffixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PostBoxNumberExtension" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Some countries like USA have POBox as 12345-123</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberExtensionSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>"-" is the NumberExtensionSeparator in POBOX:12345-123</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Firm" type="FirmType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from \r
+a large mail user address, which contains no street.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Possible values are, not limited to: POBox and Freepost.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>LOCKED BAG NO:1234 where the Indicator is NO: and Type is LOCKED BAG</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Department">\r
+ <xs:annotation>\r
+ <xs:documentation>Subdivision in the firm: School of Physics at Victoria University (School of Physics is the department)</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="DepartmentName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of a department.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>School in Physics School, Division in Radiology division of school of physics</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="Premise">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a single premise, for example a house or a building. The premise as a whole has a unique premise (house) number or a premise name. There could be more than \r
+one premise in a street referenced in an address. For example a building address near a major shopping centre or raiwlay station</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="PremiseName" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of the premise (house, building, park, farm, etc). A premise name is specified when the premise cannot be addressed using a street name plus premise (house) number.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="TypeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>EGIS Building where EGIS occurs before Building, DES JARDINS occurs after COMPLEXE DES JARDINS</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice minOccurs="0">\r
+ <xs:element name="PremiseLocation">\r
+ <xs:annotation>\r
+ <xs:documentation>LOBBY, BASEMENT, GROUND FLOOR, etc...</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:choice>\r
+ <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
+ <xs:element name="PremiseNumberRange">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification for defining the premise number range. Some premises have number as Building C1-C7</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element name="PremiseNumberRangeFrom">\r
+ <xs:annotation>\r
+ <xs:documentation>Start number details of the premise number range</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PremiseNumberRangeTo">\r
+ <xs:annotation>\r
+ <xs:documentation>End number details of the premise number range</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:sequence>\r
+ <xs:element ref="AddressLine" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumber" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:sequence>\r
+ <xs:attribute name="RangeType">\r
+ <xs:annotation>\r
+ <xs:documentation>Eg. Odd or even number range</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>Eg. No. in Building No:C1-C5</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Separator">\r
+ <xs:annotation>\r
+ <xs:documentation>"-" in 12-14 or "Thru" in 12 Thru 14 etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="IndicatorOccurence">\r
+ <xs:annotation>\r
+ <xs:documentation>No.12-14 where "No." is before actual street number</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberRangeOccurence">\r
+ <xs:annotation>\r
+ <xs:documentation>Building 23-25 where the number occurs after building name</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="BeforeName"/>\r
+ <xs:enumeration value="AfterName"/>\r
+ <xs:enumeration value="BeforeType"/>\r
+ <xs:enumeration value="AfterType"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ </xs:choice>\r
+ </xs:choice>\r
+ <xs:element ref="PremiseNumberPrefix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element ref="PremiseNumberSuffix" minOccurs="0" maxOccurs="unbounded"/>\r
+ <xs:element name="BuildingName" type="BuildingNameType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of a building.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:choice>\r
+ <xs:element name="SubPremise" type="SubPremiseType" minOccurs="0" maxOccurs="unbounded">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a single sub-premise. Examples of sub-premises are apartments and suites. Each sub-premise should be uniquely identifiable.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="Firm" type="FirmType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of a firm, company, organization, etc. It can be specified as part of an address that contains a street or a postbox. It is therefore different from a large mail user address, which contains no street.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ </xs:choice>\r
+ <xs:element name="MailStop" type="MailStopType" minOccurs="0">\r
+ <xs:annotation>\r
+ <xs:documentation>A MailStop is where the the mail is delivered to within a premise/subpremise/firm or a facility.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:element>\r
+ <xs:element ref="PostalCode" minOccurs="0"/>\r
+ <xs:element ref="Premise" minOccurs="0"/>\r
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>\r
+ </xs:sequence>\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>COMPLEXE in COMPLEX DES JARDINS, A building, station, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="PremiseDependency">\r
+ <xs:annotation>\r
+ <xs:documentation>STREET, PREMISE, SUBPREMISE, PARK, FARM, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="PremiseDependencyType">\r
+ <xs:annotation>\r
+ <xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="PremiseThoroughfareConnector">\r
+ <xs:annotation>\r
+ <xs:documentation>DES, DE, LA, LA, DU in RUE DU BOIS. These terms connect a premise/thoroughfare type and premise/thoroughfare name. Terms may appear with names AVE DU BOIS</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareNumberPrefix">\r
+ <xs:annotation>\r
+ <xs:documentation>Prefix before the number. A in A12 Archer Street</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:annotation>\r
+ <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:attribute name="NumberPrefixSeparator"/>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareNumberSuffix">\r
+ <xs:annotation>\r
+ <xs:documentation>Suffix after the number. A in 12A Archer Street</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberSuffixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>NEAR, ADJACENT TO, etc</xs:documentation>\r
+ <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="ThoroughfareNumber">\r
+ <xs:annotation>\r
+ <xs:documentation>Eg.: 23 Archer street or 25/15 Zero Avenue, etc</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberType">\r
+ <xs:annotation>\r
+ <xs:documentation>12 Archer Street is "Single" and 12-14 Archer Street is "Range"</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Single"/>\r
+ <xs:enumeration value="Range"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>No. in Street No.12 or "#" in Street # 12, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="IndicatorOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>No.12 where "No." is before actual street number</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>23 Archer St, Archer Street 23, St Archer 23</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="BeforeName"/>\r
+ <xs:enumeration value="AfterName"/>\r
+ <xs:enumeration value="BeforeType"/>\r
+ <xs:enumeration value="AfterType"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PremiseNumber">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the identifier of the premise (house, building, etc). Premises in a street are often uniquely identified by means of consecutive identifiers. The identifier can be a number, a letter or any combination of the two.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberType">\r
+ <xs:annotation>\r
+ <xs:documentation>Building 12-14 is "Range" and Building 12 is "Single"</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Single"/>\r
+ <xs:enumeration value="Range"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attribute name="Indicator">\r
+ <xs:annotation>\r
+ <xs:documentation>No. in House No.12, # in #12, etc.</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="IndicatorOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>No. occurs before 12 No.12</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attribute name="NumberTypeOccurrence">\r
+ <xs:annotation>\r
+ <xs:documentation>12 in BUILDING 12 occurs "after" premise type BUILDING</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:simpleType>\r
+ <xs:restriction base="xs:NMTOKEN">\r
+ <xs:enumeration value="Before"/>\r
+ <xs:enumeration value="After"/>\r
+ </xs:restriction>\r
+ </xs:simpleType>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PremiseNumberPrefix">\r
+ <xs:annotation>\r
+ <xs:documentation>A in A12</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType>\r
+ <xs:simpleContent>\r
+ <xs:extension base="xs:string">\r
+ <xs:attribute name="NumberPrefixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>A-12 where 12 is number and A is prefix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:extension>\r
+ </xs:simpleContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="PremiseNumberSuffix">\r
+ <xs:annotation>\r
+ <xs:documentation>A in 12A</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="NumberSuffixSeparator">\r
+ <xs:annotation>\r
+ <xs:documentation>12-A where 12 is number and A is suffix and "-" is the separator</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attribute name="Type"/>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+ <xs:element name="CountryName">\r
+ <xs:annotation>\r
+ <xs:documentation>Specification of the name of a country.</xs:documentation>\r
+ </xs:annotation>\r
+ <xs:complexType mixed="true">\r
+ <xs:attribute name="Type">\r
+ <xs:annotation>\r
+ <xs:documentation>Old name, new name, etc</xs:documentation>\r
+ </xs:annotation>\r
+ </xs:attribute>\r
+ <xs:attributeGroup ref="grPostal"/>\r
+ <xs:anyAttribute namespace="##other"/>\r
+ </xs:complexType>\r
+ </xs:element>\r
+</xs:schema>\r